David Chinner wrote:
On Thu, Nov 02, 2006 at 06:26:08PM +0100, Christian Guggenberger wrote:
Hi,
a colleague recently tried to grow a 16 TB filesystem (x86, 32bit) on
top of lvm2 to 17TB. (I am not even sure if that's supposed work with
linux-2.6, 32bit)
Not supported - any metadata access past 16TB will wrap the 32 bit page
cache
index for the metadata address space and you'll corrupt the filesystem.
Ohhhh right. I've been in x86_64 land for too long, sorry for the earlier false
assertion.... :(
xfs guys, if it's not there already (and I don't see it from a quick look..)
growfs -really- should refuse (in the kernel) to grow a filesystem past 16T on a
32-bit machine, just as we refuse to mount one. something like this in
xfs_growfs_data_private:
#if XFS_BIG_BLKNOS /* Limited by ULONG_MAX of page cache index */
if (unlikely(
(nb >> (PAGE_SHIFT - sbp->sb_blocklog)) > ULONG_MAX) {
#else /* Limited by UINT_MAX of sectors */
if (unlikely(
(nb << (sbp->sb_blocklog - BBSHIFT)) > UINT_MAX) {
#endif
cmn_err(CE_WARN,
"new filesystem size too large for this system.");
return XFS_ERROR(E2BIG);
}
and something similar in xfs_growfs_rt ?
-Eric
|