The ext4 development site states that the maximum capacity (assuming a 4
KiB block size) of a filesystem should be 64 ZiB (2^76). But isn't the
kernel hard-wired for an internal representation of 512 B sectors? And if
sector_t is 64 bits wide, that would be 8 ZiB (2^73). So is it actually
possible to have the kernel internally-represent sectors as greater than
512 B each? Reading "Linux Device Drivers, Third Edition" and its use of
set_capacity seems to indicate that it is not.
"nsectors*(hardsect_size/KERNEL_SECTOR_SIZE)" where nsectors is the number
of device-size sectors on the device, hardsect_size is the size of the
device's sectors, and KERNEL_SECTOR_SIZE is 512. The only thing I could
imagine is implementing the block device driver equivalent of segmenting
via ioctl to access the device by 8 ZiB portions at a time, so a 9 ZiB
device would have two segments, each lacking addressing for 1 ZiB of the
device. What am I missing though?
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html