[KLUG Members] re: quota and file systems

Mike Williams knightperson at zuzax.com
Mon Sep 13 15:07:28 EDT 2004


Adam wrote:

>The inode block map for every file on an XFS filesystem is about ~2k. 
>So if the file is less than 2k XFS uses the inode block map area itself
>to store the contents of the file, and performs no data block
>allocation.
>
>(a) This leaves the data block available for use by other larger files.
>(b) Since opening a file ***ALWAYS*** involves reading its inode -
>opening a small file can be accomplished in 2 I/O operations (seekInode
>+ readInode) vs 4 (seekInode + readInode + seekDataBlock +
>readDataBlock)
>(c) A typical filesystem contains MANY <2k files.
>(d) Allocating a datablock requires LOCKING the free list, so only a
>limited number of file-size-expansions can occur at once (on a
>traditional filesystem ONLY *ONE* can occur at a time, XFS works around
>that, but the number is still at something like 4 - 16).  By using the
>inode to store data the free list never has to be locked for allocation
>unless the filesize increases past 2k.
>  
>
Yet another example of neat tricks that makes one file system better 
than another.  What about some of the others like jfs or the Rieser that 
SuSE seems to like?  Any neat tricks there?  I won't ask about Ext3 
because I know it's basically ext2 with a journal.



More information about the Members mailing list