• Chris Mason's avatar
    Btrfs: optimize fsyncs on old files · af4176b4
    Chris Mason authored
    The fsync log has code to make sure all of the parents of a file are in the
    log along with the file.  It uses a minimal log of the parent directory
    inodes, just enough to get the parent directory on disk.
    
    If the transaction that originally created a file is fully on disk,
    and the file hasn't been renamed or linked into other directories, we
    can safely skip the parent directory walk.  We know the file is on disk
    somewhere and we can go ahead and just log that single file.
    
    This is more important now because unrelated unlinks in the parent directory
    might make us force a commit if we try to log the parent.
    Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    af4176b4
tree-log.c 83.7 KB