• Chris Mason's avatar
    Btrfs: Fix some data=ordered related data corruptions · f421950f
    Chris Mason authored
    Stress testing was showing data checksum errors, most of which were caused
    by a lookup bug in the extent_map tree.  The tree was caching the last
    pointer returned, and searches would check the last pointer first.
    
    But, search callers also expect the search to return the very first
    matching extent in the range, which wasn't always true with the last
    pointer usage.
    
    For now, the code to cache the last return value is just removed.  It is
    easy to fix, but I think lookups are rare enough that it isn't required anymore.
    
    This commit also replaces do_sync_mapping_range with a local copy of the
    related functions.
    Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    f421950f
ctree.h 53.1 KB