Which FC HBA driver are you using?

Your case does not relate to 1TB issue. But it may related to the FC
controller. Normally, the disk driver (in this case, the FC HBA driver)
will provide head/sector information. We need to find the reason why
Solaris use default configuration.

Can you file a bug through OpenSolaris website? It will help us to find
someone working together with you in SUN.

Regards,
Roger


David KILLICK 写道:
> Thanks for your reply. No, the disk is not being used for booting at all, 
> just data storage. The RAID capacity is about 547GB, so the 1TB limit is not 
> an issue either. The RAID is managed using a Fibre-Channel controller (if 
> that makes any difference).
>
> The embedded system creates a FAT32 partition on the RAID and does not 
> support a Solaris label in sector/block 0. When the RAID is viewed by Solaris 
> (without the Solaris label), the disk appears to be truncated to a much 
> smaller drive, which corresponds to Solaris defaulting it to 255 heads, 63 
> sectors and whatever number of cylinders it calculates by dividing tha actual 
> number of sectors by 255 and 63 ... resulting in a value that overflows the 
> number of cylinders variable (a 16 bit unsigned int).
>
> While trolling through OpenSolaris code, the "matching" logic to the observed 
> behaviour was found in cmlb.c, hence the post to verify if the analysis was 
> correct and whether the intended fix in OpenSolaris would work on a (closed) 
> Solaris machine.
>
> So I'm not sure that either of the issues you mentioned below are applicable 
> in this specific instance.
>
> Thank you for indicating that several other places will need fixing in 
> addition to the one place that was identified in the post ... I guess it's 
> time for some other workaround to be found.
>
>  
>
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
> Sent: 22 January 2008 15:28
> To: David KILLICK
> Cc: [email protected]
> Subject: Re: [storage-discuss] Large disk geometry overflows 16 bit unsigned 
> int ...
>
> Are you trying to boot from this disk? If not, please use EFI label to 
> support this disk. EFI label can support more than 1TB disk.
>
> There are two issues here:
> 1. Solaris can not boot from EFI labeled disk. Install team and ZFS team are 
> working on that.
> 2. VTOC label can not support disk more than 1TB. My team are looking into it 
> now.
>
> Please see my reply inline.
>
> Thanks,
> Roger
>
> D K 写道:
>   
>> My project has encountered a problem accessing a very large RAID that is 
>> written by an embedded system. Because the disk does not have a Solaris 
>> block written in the very first sector of the disk, Solaris 10 is using a 
>> default geometry of 255 heads and 63 sectors, but computes the number of 
>> cylinders by dividing the total number of sectors by (255 * 63). This number 
>> exceeds 16 bits, resulting in the following symptom of the problem: disk I/O 
>> encounters a very premature end-of-media/file when attempting to perform any 
>> read/write operation (e.g. via dd).
>>
>> After consulting the OpenSolaris source code, the source of the problem 
>> appears to be lines 4266-4273 of usr/src/uts/common/io/cmlb.c ... the fix 
>> being contemplated is to extend the logic to use a different combination of 
>> default heads and sectors for exceedingly large drives, such that the 
>> computed number of cylinders will fit into a UINT16. When a Solaris label is 
>> written to the drive in question, the start of sector zero reads 
>> "Ciprico-Talon2200-P347 cyl 49780 alt 2 hd 8 sec 2880", so using 8 and 2880 
>> as head and sector defaults is being contemplated.
>>
>> Here are the two questions I have:
>>
>> (a) Is this the only place in the Solaris code base that needs fixing, or 
>> does similar code that will also need fixing lurk elsewhere too ?
>>   
>>     
> It related to boot/format/install etc. Many other place need to fix and test.
>   
>> (b) If the fix is made and compiled under OpenSolaris (aka version 11), will 
>> the rebuilt kernel module be compatible for execution by the (closed) 
>> Solaris (version 10) O/S of our deployment platform ? i.e. will _this_ 
>> version 11 kernel module be backwardly compatible with the version 10 module 
>> (/kernel/misc/sparcv9/cmlb) ?
>>   
>>     
> Backward compatibility is a big issue to change the label of disk. It is much 
> more complex than binary backward compatibility. For binary, changing in 
> OpenSolaris will not go to S10 automatically. But once we work out a solution 
> for VTOC, we will integrate it into s10.
>
> Another compatibility problem is how to separate the disks among different 
> version of Solaris (Solaris with the fix and without the fix). 
> It is OK for the old system can not read the disk with new label, but we need 
> to make sure no data will lost while we try the disk on older system.
>   
>> Any help is much appreciated. Any other ideas of how to solve the dilemma 
>> are also welcome! Thanks.
>>  
>>  
>> This message posted from opensolaris.org 
>> _______________________________________________
>> storage-discuss mailing list
>> [email protected]
>> http://mail.opensolaris.org/mailman/listinfo/storage-discuss
>>   
>>     
>
>   

_______________________________________________
storage-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/storage-discuss

Reply via email to