Hi Shidokht,

Shidokht Yadegari wrote:
>
> Hi,
>
> On 05/28/09 00:29, Jan Damborsky wrote:
>> Hi Shidokht,
>>
>>
>> Shidokht Yadegari wrote:
>>> On 05/27/09 10:36, Jan Damborsky wrote:
>>>> Hi Pallavi,
>>>>
>>>> could you please add release notes for bugs 9026
>>>> and 6843138 to OpenSolaris 2009.06 release notes ?
>>>>
>>>> Shidokht, could you please take a look to verify if
>>>> the information captured below is correct and provide
>>>> workaround for 6843138 if one exists ?
>>>>
>>> ...
>>>>
>>>> ==================================================================================
>>>>  
>>>>
>>>> bugid: 6843138
>>>> synopsis: can not boot off a 2.2TB and zfs root
>>>>
>>>> Platforms affected:
>>>> x86
>>>>
>>>> Description:
>>>> Due to the limitation in current implementation of GRUB which 
>>>> OpenSolaris uses as boot
>>>> loader on x86 platform, OpenSolaris operating system can't be 
>>>> booted from disk which
>>>> capacity exceeds 2^32 sectors or 2TB (assuming that sector size is 
>>>> 512 bytes).
>>> Hi,
>>>
>>> Since the problem depends on whether the needed data for booting 
>>> falls in the region
>>> defined by the lower 32bits of capacity,  I'd suggest rewording 
>>> "can't be booted"
>>> to "may not be booted"
>>
>> ok.
>>
>>>
>>>
>>> I don't have a great workaround here. For a warm reboot, if we do a 
>>> modunload -i 0
>>> and then do reboot, fastreboot would have a chance in rebooting the 
>>> system bypassing
>>> grub if all loaded drivers support quiesce.
>>
>> If my understanding of the problem is correct, if we make sure that 
>> slice
>> which root pool resides in doesn't exceed 2TB boundary, GRUB will be
>> always able to locate all necessary pieces even on >2TB disk ?
>>
> Not really. GRUB will try to make sure the requested I/O to the disk is
> not going beyond total sectors of the disk. To calculate total sectors,
> it issues an int 13 fn 48 to BIOS to get the capacity.
> There are two problems here. One is uses ulong for total_sectors and
> only takes the lower 32bit of the value reported from BIOS. For example
> if the capacity reported is 0x100f00000, it sets total sectors to 
> 0xf00000.
> If root is within this first 0xf00000 then we are ok and can boot.

I see - I got it now. Thanks for clarification !

>
> The second problem is that even if we fix it BIOSes do not always report
> the correct capacity at least for >2TB that I have seen. I am removing 
> the check
> against total sectors for I/O in grub.
>
>
>> Thinking about this more, I am a little bit confused. I was assuming
>> that it is not possible to utilize space after 2TB, as fdisk
>> partition table also uses 32 bits for defining sector partition 
>> geometry,
>> so it would be always assured that all necessary data are stored
>> within first 2TB ?
>>
> Yes, we only utilize at most the first 2TB currently for boot disk.
> But the check in grub is against capacity.
>
> Please let me know if I can clarify further.

I can understand the problem now, but I am still thinking
about the suggested workaround. You mention way how to assure
system can be brought up after reboot - is there anything we could
do once the system is powered off ?

Thank you very much,
Jan


Reply via email to