Skip to content
  • Filipe David Borba Manana's avatar
    Btrfs: fix send file hole detection leading to data corruption · bf54f412
    Filipe David Borba Manana authored
    
    
    There was a case where file hole detection was incorrect and it would
    cause an incremental send to override a section of a file with zeroes.
    
    This happened in the case where between the last leaf we processed which
    contained a file extent item for our current inode and the leaf we're
    currently are at (and has a file extent item for our current inode) there
    are only leafs containing exclusively file extent items for our current
    inode, and none of them was updated since the previous send operation.
    The file hole detection code would incorrectly consider the file range
    covered by these leafs as a hole.
    
    A test case for xfstests follows soon.
    
    Signed-off-by: default avatarFilipe David Borba Manana <fdmanana@gmail.com>
    Signed-off-by: default avatarJosef Bacik <jbacik@fb.com>
    Signed-off-by: default avatarChris Mason <clm@fb.com>
    bf54f412