On Saturday 19 January 2008, Jan Engelhardt wrote: > Hi, > > >From the XFS list I gather that btrfs, being able to mount a >16 TB > > volume on a 32-bit x86 box, either has some special power - or bug. > Which of the two is it?
mkfs.btrfs doesn't have to write past 16TB, so it isn't an issue from userland (btrfsck is a different story). That would have to shift to O_DIRECT IO, which wouldn't be horrible now that Yan has extent_buffers ported. From the kernel, you'll bump into the unsigned long radix tree, which is only 32 bits. Currently a single address_space is used as the backing for the block device, which is used for all metadata. There aren't many functions that care about this, basically just the ones that read, write or find pages for extent_buffers. So, btrfs could chain multiple address spaces together to go beyond 16TB, and abstract it out in extent_map.c:extend_buffer_page() and a handful of other spots. -chris _______________________________________________ Btrfs-devel mailing list [email protected] http://oss.oracle.com/mailman/listinfo/btrfs-devel
