XFS uses 64-bit inode numbers internally; however, the
number of significant bits in an inode number is
affected by filesystem geometry. In practice,
filesystem size and inode size are the predominant factors.
The Linux kernel and most applications cannot currently
handle inode numbers greater than 32 significant bits.
With default blocksize & inode size on Linux, we hit 32
bits at right about 1 Terabyte.
This mod changes mkfs.xfs so that if inode size is not
specified, it will attempt to choose a size that will
keep inode numbers < 32 significant bits. If it
cannot, or if an inode size was specified on the command
line, it will issue a warning if inode numbers will
have > 32 significant bits.
We run into this in growfs as well - on average, doubling
the size of a filesystem will add one significant bit
to the inode numbers. xfs_growfs will warn & fail if this
goes over 32 bits, but this can be overridden with the
Both growfs and mkfs will also print how many significant
bits will be required for inodes when it prints the
Date: Fri Aug 31 13:08:21 PDT 2001
The following file(s) were checked into:
cmd/xfsprogs/growfs/xfs_growfs.c - 1.6
- Warn & fail if new FS inode numbers will be > 32 bits
Add -I option to allow these big inode numbers.
cmd/xfsprogs/mkfs/xfs_mkfs.h - 1.2
- Add #define for max # of significant inode bits we're comfortable with
cmd/xfsprogs/mkfs/xfs_mkfs.c - 1.15
- Try to keep inode numbers < 32 significant bits, warn if we can't
cmd/xfsprogs/man/man8/xfs_growfs.8 - 1.2
- Document new -I option
Document 32-bit inode number issues & caveats.
cmd/xfsprogs/man/man8/mkfs.xfs.8 - 1.7
- Document 32-bit inode number issues & caveats.
cmd/xfsprogs/doc/CHANGES - 1.34
- Info on 32 bit changes for mkfs and growfs
cmd/xfsprogs/VERSION - 1.27
- Bump version for 32-bit awareness.