NOTE: viewing this document needs a terminal larger than 80 chars (175 chars). >1TB is not supported in 32 bit kernel. Current behavior of main disk target drivers (sd/ssd/cmdk) in Nevada. >2TB 1-2TB < 1TB ------------------------------------------------------ ------------------------------------------------------- ------------------------------------------- blank GPT vtoc/ x86 legacy vtoc default no VTOC/ GPT GPT vtoc/default no vtoc/ nolabel +x86 w/legacy mbr with no vtoc no default no default mbr +sol part solaris part default vtoc DKIOCGVTOC current ENOTSUP ENOTSUP SPARC success ENOTSUP SPARC success n/a(I*XXX) ENOTSUP ENOTSUP ENOTSUP success EINVAL (*I) x86 ENOTSUP x86 ENOTSUP change: EOVERFLOW " EOVERFLOW EOVERFLOW EOVERFLOW EOVERFLOW EOVERFLOW " " " " DKIOCGGEOM cur: ENOTSUP ENOTSUP SPARC success ENOTSUP SPARC success n/a(I*) ENOTSUP ENOTSUP ENOTSUP success EINVAL (*I) x86 ENTOSUP x86 ENOTSUP change: " " success EINVAL success success EINVAL " " " " DKIOCGAPART cur: ENOTSUP ENOTSUP SPARC success ENOTSUP SPARC success n/a ENOTSUP ENOTSUP ENOTSUP success EINVAL x86 ENOTSUP x86 ENOTSUP change: " " ENOTSUP " ENOTSUP ENOTSUP " " " " " DKIOCSVTOC cur: ENOTSUP ENOTSUP ENOTSUP ENOTSUP ENOTSUP n/a ENOTSUP ENOTSUP success success success/(*III) change: EOVERFLOW EOVRFLW EOVRFLOW EOVRFLOW EOVERFLOW EOVERFLOW EOVERFLOW EOVEFLOW " " " DKIOCSAPART cur: ENOTSUP ENOTSUP ENOTSUP ENOTSUP ENOTSUP n/a ENOTSUP ENOTSUP ENOTSUP success EIO change: " " " " " ENOTSUP " " " " " DKIOCSGEOM cur: x86 EIO success success x86 EIO x86 EIO n/a x86: EIO success success success x86 EIO SPARC success SPARC n/a SPARC success SPARC success SPARC success change: success " " " success success " " " " " DKIOCPARTINFO: cur: p0-4raw success success p0-4raw success p0-4rawsuccess p0-4rawsuccess n/a p0-4raw success success success success p0-4raw success else EIO else EIO else EIO else EIO else EIO bug else EIO change:EOVERFLOW EVERFLW EOVERFLOW EOVERFLOW EOVERFLOW EOVERFLOW EOVERFLOW EOVERFLOW success " " DKIOCG_PHYGEOM cur: ENOTSUP ENOTSUP ENOTSUP ENOTSUP ENOTSUP n/a ENOTSUP success success success success change: success success success success success success success " " " " DKIOCG_VIRTGEOM (*IV) cur: ENOTSUP EINVAL ENOTSUP ENOTSUP ENOTSUP n/a ENOTSUP >8G EINVAL >8G EINVAL >8G EINVAL >8G EINVAL change: EINVAL " EINVAL EINVAL EINVAL EINVAL EINVAL " " " " DKIOCGEXTVTOC: new: ENOTSUP ENOTSUP success EINVAL success success EINVAL ENOTSUP ENOTSUP success EINVAL DKIOCSEXTVTOC (*III) new: success success success EINVAL success success success(*III) success success success success (*III) DKIOCEXTPARTINFO: new: p0-4rawsuccess success success p0-4rawsuccess success success p0-4rawsuccess success success success p-4rawsuccess else EIO else EIO else EIO else EIO I: SPARC IDE fixed disk drives. if the disk does not have any vtoc label, we don't actually assume a default vtoc to allow access to disk nodes, but DKIOCGGEOM and GVTOC succeed). This functionality will not be carried over to disks > 1TB. IDE support on SPARC is currently limited to 128GB disks. II. Currently sd driver recognizes a disk > 1TB with vtoc8 on it on SPARC. DKIOCSVTOC, DKIOCSAPART, will still fail on such a disk with ENOTSUP. DKIOCGAPART and GVTOC GGEOM will succeed. III. DKIOCSVTOC requires a setting of geometry by SGEOM if no vtoc/no default is assumed on SPARC else fails with EIO. If there is a legacy MBR on x86 with no solaris partition DKIOCSVTOC and DKIOCEXTVTOC will fail. IV: DKIOCG_VIRTGEOM is supposed to fail on > 8GB disks. Current code does not always enforce that. V.This document explains the behavior for 512 byte target block sizes.