• Filipe Manana's avatar
    btrfs: remove stale comment and logic from btrfs_inode_in_log() · 209ecbb8
    Filipe Manana authored
    Currently btrfs_inode_in_log() checks the list of modified extents of the
    inode, and has a comment mentioning why, as it used to be necessary to
    make sure if we did something like the following:
    
      mmap write range A
      mmap write range B
      msync range A (ranged fsync)
      msync range B (ranged fsync)
    
    we ended up with both ranges being logged.
    
    If we did not check it, then the second fsync would do nothing because
    btrfs_inode_in_log() would return true. This was added in 125c4cf9
    ("Btrfs: set inode's logged_trans/last_log_commit after ranged fsync") and
    test case generic/325 from fstests exercises that scenario.
    
    However, as of commit 48778179 ("btrfs: make fast fsyncs wait only
    for writeback"), every ranged fsync is now turned into a full ranged fsync
    (operates on the range from 0 to LLONG_MAX), so it is now pointless to
    test of emptiness of the list of modified extents, and the comment is
    clearly outdated.
    
    So just remove the comment and list emptiness check, while also changing
    the function's return type to be a boolean instead of an integer.
    In case one day we get support for ranged fsyncs again, it will be easy
    to notice the check is necessary again, because it will make generic/325
    always fail.
    Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    209ecbb8
btrfs_inode.h 10.5 KB