SCSI geometry calculation?

Scott Long scott_long at btc.adaptec.com
Wed May 14 16:08:57 PDT 2003


Nate Lawson wrote:
> I am reviewing our current geometry calculation and have a few questions.
> Here is what I found in my review.
> 
> Most drivers use >1G: 255/63, else 64/32.  Exceptions are:
> * aac - >=2G: 255/63, >=1G 128/32, else 64/32
> * aha - same
> * amr - >2G: 255/63, else 64/32
> * asr - >4G: 255/63, >2G: 128/63, >1G: 65/63, else 64/32
> * ata-raid - always 255/63
> * bt - same as aha
> * ciss - 255/32 if fault_tolerance is invalid else what the logical drive
> reports.
> * mlx - if MLX_GEOM_256_63 set: 255/63, else 128/32.  Since nothing seems
> to set mlx_geom, 128/32 is probably always used.
> * mly - same
> * pst - always 255/63
> * twe - >2G: 255/63, else 64/32
> 
> Some of these seem to be bugs, especially for volumes exactly on a
> boundary (2G).  Since many of the stranger ones are RAID controllers, they
> won't have to support drive portability to other controllers.  What should
> actually be done in CALC_GEOMETRY?
> 

Remember that with most RAID controllers, the volumes that you see are
logical and have no bearing on the physical drives that compose them.
The 'odd' geometry requirements usually stem from the requirements of
the controller BIOS.  FreeBSD needs to respect their geometry in order
for the arrays to remain bootable and portable to other OS's (i.e.
remain compatible with their BIOS).  I'm really not sure what to say
about the boundary cases other than if they are buggy, few people
notice.  mlx and mly are special in that you can set the geometry that
the BIOS uses from the BIOS POST menu; I think it's assumed that if you
change this then you know what you're doing.

Scott



More information about the freebsd-scsi mailing list