Description of problem: When installing F14 from DVD, if you choose XFS as your root partition, the XFS filesystem is created with 256 byte inodes. As selinux is default now, 256 bytes is not enough for the extra XATTR information. This means a new block is used for this information. This wastes a lot of space and incurs performance penalties. Version-Release number of selected component (if applicable): F14-Beta-RC3 The XFS filesystem should be created with the -isize=512 option.
Quote from the attached URL: Can I use xfs/reiserfs filesystems ? For xfs, The default Inode size is 256 bytes, which is not enough to fit the "security.selinux" XATTR name and its data (as about 200 bytes is used for other stuff). So the XATTR won't fit in the Inode and will need a block of it's own which is 4096 bytes on i386. Having 4096 bytes per file for the SE Linux XATTR is a huge waste of disk space. If you use the option "-isize=512" when making an XFS file system then the SE Linux XATTR will fit in the Inode. On some Inodes the extra space can be used for other things as well, so you won't necessarily have 256 - (XATTR size) bytes of disk space going unused. [Russell Coker]
anaconda uses neither the inode= or isize= parameters. We use the default according to the filesystem. If at all possible, this should therefore be changed in the tools themselves so that the entire OS can take advantage of the change, rather than it just be some secret setting hidden away in anaconda.
Please file a bug against that URL, rather than against anaconda. :) XFS uses a sliding window in the inode space for attr & file data information. The selinux attrs are not that big; on a fresh F13 install, I get this distribution of attr sizes on the root fs: 86822 a.sfattr.hdr.totsize = 41 47 a.sfattr.hdr.totsize = 42 274 a.sfattr.hdr.totsize = 43 14475 a.sfattr.hdr.totsize = 44 56 a.sfattr.hdr.totsize = 45 117 a.sfattr.hdr.totsize = 46 1220 a.sfattr.hdr.totsize = 47 173 a.sfattr.hdr.totsize = 48 9899 a.sfattr.hdr.totsize = 49 119 a.sfattr.hdr.totsize = 50 381 a.sfattr.hdr.totsize = 51 2948 a.sfattr.hdr.totsize = 52 93 a.sfattr.hdr.totsize = 53 29 a.sfattr.hdr.totsize = 54 293 a.sfattr.hdr.totsize = 55 11 a.sfattr.hdr.totsize = 56 20 a.sfattr.hdr.totsize = 57 12 a.sfattr.hdr.totsize = 58 3 a.sfattr.hdr.totsize = 59 22 a.sfattr.hdr.totsize = 60 1 a.sfattr.hdr.totsize = 61 1 a.sfattr.hdr.totsize = 62 1 a.sfattr.hdr.totsize = 63 3 a.sfattr.hdr.totsize = 64 1 a.sfattr.hdr.totsize = 66 There are a grand total of 10 files which actually have attribute blocks outside the inode; almost all of them are in /var/lib/rpm and therefore due to the fragmentation of these files taking up more extent-tracking space in the inode. In short, defaulting installs to 512-byte inodes would be a giant waste of space for the default user. -Eric