• Andrew Morton's avatar
    [PATCH] ext3 fsync() and fdatasync() speedup · a1ff5989
    Andrew Morton authored
    ext3's fsync/fdatasync implementation is currently syncing the inode via a
    full journal commit even if it was unaltered.
    
    Fix that up by exporting the core VFS's inode sync function to modules and
    calling it if the inode is dirty.  We need to do it this way so that the
    inode is moved to the appropriate superblock list and so that the i_state
    dirty flags are appropriately updated.
    
    This speeds up ext3 fsync() for file overwrites by a factor of four (disk
    non-writeback) to forty (disk in writeback mode).
    a1ff5989
fs-writeback.c 17.8 KB