• Chris Mason's avatar
    Btrfs: Fix race against disk_i_size updates · 34353029
    Chris Mason authored
    The code to update the on disk i_size happens before the
    ordered_extent record is removed.  So, it is possible for multiple
    ordered_extent completion routines to run at the same time, and to
    find each other in the ordered tree.
    
    The end result is they both decide not to update disk_i_size, leaving
    it too small.  This temporary fix just puts the updates inside
    the extent_mutex.  A real solution would be stronger ordering of
    disk_i_size updates against removing the ordered extent from the tree.
    Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    34353029
inode.c 96.8 KB