[lug] OT: Sparc Ultra 10 > 26GB disk possible?
Ian Hall-Beyer
manuka at nerdherd.net
Sat Nov 11 13:10:35 MST 2000
On Fri, 10 Nov 2000, Ian Hall-Beyer wrote:
> > We're still using Solaris 7 which only supports up to (some claim 18, but as
> > we saw 26 - who knows.) But, Solaris 8 is supposed to see up to 65GB
> > according to someone on Deja... so we're trying it now.
>
> I believe the last hardware update of solaris 7 (11/99) may support up to
> 32GB, but solaris 8 goes beyond that. It also may require a firmware
> update that comes with solaris 8. Let me check sunsolve and see what the
> specifics are.
OK, some research has turned up the following (the sunsolve documents
applied to x86, but should be the same for ultra).
Solaris 2.6 and 7 support up to 8GB IDE disks. Solaris 8.0 (FCS) supports
up to 32GB. Solaris 8.1 (6/99) is reported to go beyond that.
Bug ID 4301382 covers the subject:
Synopsis: ata: LBA-enabled BIOSes/disks are limited to about 31GB
Date: 28 Oct 2000
Product: sunos
Category: Kernel
subcategory: disk-driver-x86
Bug-RFE-EOU: bug
State: verified
Description:
The large-disk project caused IDE disks on BIOSes that support LBA to now
use physical geometry for the disk, as read from the ATA Identify command.
Since that geometry will be limited in terms of heads and sectors to
16x63, there is more stress put on the "cylinders" number in the geometry
by larger disks.
Since ata keeps its geometries ata_drv_t's
"ad_bioscyl/ad_bioshd/ad_biossec", and those are all unsigned shorts, the
practical limit on IDE disks is 65535 cylinders, or 66059280 blocks, which
is roughly 31GB. So one thing that needs to happen is that ad_bios* need
to widen.
Unfortunately that's not the end of the story; those numbers get returned
through DIOCTL_GET{PHY}GEOM, which uses a tgdk_geom that has "long" fields
(should be unsigned long at least). But then they're crammed back into a
structure (dk_geom) that has unsigned short again.
Perhaps the right thing to do is to make ata lie and do the "double the
heads/ halve the cylinders" trick (any lie is fine for geometry, by and
large). Perhaps the right thing to do is to widen the benighted "unsigned
short" structures to handle reasonably-sized numbers. Unfortunately
dk_geom is a public interface, so if we were to do this, we'd probably
have to introduce a new set of ioctls that take the wider geometry
structure. It's still probably the most-correct thing to do; I suspect
that SCSI drives are going to soon suffer from the same problem, and
probably on Intel *and* SPARC.
The scope of the architecture changes is the main reason this wasn't
addressed in s28_21 (that, and the inability to find such drives for
testing). The drives are now becoming available: simmonmt at eng knows where
there is at least one. So it's time.
Justification:
Will prevent usage of large ATA drives; capacity will be "wrapped
around" the 65535-cylinder limit.
Justification by: simmonmt Date: 1999-12-22 Priority from 3 to 2: Very
visible to customers. A 40G drive becomes a 6G drive. Much more
difficult to deal with than the pre-LBA 8G limit.
Workaround: None
To get this fix download patch 110202-01 from the Sun web site. Once
installed your system will show patch 109798-01 using 'showrev -p'. This
downloaded patch is an ITU floppy image for Solaris 8 that contains the
actual patch that gets installed on your system.
This can be used for either installing a new system or updating an
existing one.
For a new system you must install using an IDE (Atapi) CDROM at this time
(October 27, 2000), because of bug 4382368. This bug prevents the ata
driver from being loaded if installation occurs from a SCSI CDROM or a
network card.
-Ian
--
I am immune
TOO EXHAUSTED TO NOTICE
Too paranoid to sleep or wonder for too long
Too self-abused and withdrawn to help myself
Real life doesn't come close to this
-- Henry Rollins
More information about the LUG
mailing list