<font size=2 face="sans-serif">There have been a few changes over the
years that may invalidate some of the old advice about metadata and disk
allocations there for.</font><br><font size=2 face="sans-serif">These have been phased in over the last
few years, I am discussing the present situation for release 4.2.x</font><br><br><font size=2 face="sans-serif">1) Inode size. &nbsp;Used to be 512.
&nbsp;Now you can set the inodesize at mmcrfs time. &nbsp;Defaults to 4096.</font><br><br><font size=2 face="sans-serif">2) Data in inode. &nbsp;If it fits,
then the inode holds the data. &nbsp;Since a 512 byte inode still works,
you can have more than 3.5KB of data in a 4KB inode.</font><br><br><font size=2 face="sans-serif">3) Extended Attributes in Inode. &nbsp;Again,
if it fits... &nbsp;Extended attributes used to be stored in a separate
file of metadata. &nbsp;So extended attributes performance is way better
than the old days.</font><br><br><font size=2 face="sans-serif">4) (small) Directories in Inode. &nbsp;If
it fits, the inode of a directory can hold the directory entries. &nbsp;That
gives you about 2x performance on directory reads, for smallish directories.<br></font><br><font size=2 face="sans-serif">5) Big directory blocks. &nbsp;Directories
used to use a maximum of 32KB per block, potentially wasting a lot of space
and yielding poor performance for large directories.</font><br><font size=2 face="sans-serif">Now directory blocks are the lesser
of metadata-blocksize and 256KB.</font><br><br><font size=2 face="sans-serif">6) Big directories are shrinkable. &nbsp;Used
to be directories would grow in 32KB chunks but never shrink. &nbsp;Yup,
even an almost(?) &quot;empty&quot; directory would remain the size the
directory had to be at its lifetime maximum. &nbsp;That means just a few
remaining entries could be &quot;sprinkled&quot; over many directory blocks.
&nbsp;(See also 5.)</font><br><font size=2 face="sans-serif">But now directories autoshrink to avoid
wasteful sparsity. &nbsp;Last I looked, the implementation just stopped
short of &quot;pushing&quot; tiny directories back into the inode. But
a huge directory can be shrunk down to a single (meta)data block. &nbsp;
(See --compact in the docs.)</font><br><br><font size=2 face="sans-serif">--marc of GPFS</font><BR>