> > 32 bit Solaris can use at most 2^31 as disk address; a disk block is
> > 512bytes, so in total it can address 2^40 bytes.
> >
> > A SMI label found in Solaris 10 (update 8?) and OpenSolaris has been 
> > enhanced
> > and can address 2TB but only on a 64 bit system.
> 
> is what the problem is.  so 32-bit zfs cannot use disks larger than
> 1(.09951)tb regardless of whether it's for the root pool or not.

I think this isn't a problem with the 32-bit zfs module, but with
all of the 32-bit Solaris kernel.  The daddr_t type is used in a 
*lot* of places, and is defined as a signed 32-bit integer ("long")
in the 32-bit kernel.  It seems that there already are 64-bit
disk address types defined, diskaddr_t and lldaddr_t 
(that could be used in the 32-bit kernel, too), but a lot
of the existing kernel code doesn't use them.  And redefining
the existing daddr_t type to 64-bit "long long" for the 32-bit
kernel won't work, because it would break binary 
compatibility.
-- 
This message posted from opensolaris.org
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to