• Qu Wenruo's avatar
    btrfs: introduce btrfs_lookup_first_ordered_range() · c095f333
    Qu Wenruo authored
    Although we already have btrfs_lookup_first_ordered_extent() and
    btrfs_lookup_ordered_extent(), they all have their own limitations:
    
    - btrfs_lookup_ordered_extent() can't do extra range check
    
      It's only designed to lookup any ordered extent before certain bytenr.
    
    - btrfs_lookup_first_ordered_extent() may not return the first ordered
      extent in the range
    
      It doesn't ensure the first ordered extent is returned.
      The existing callers are only interested in exhausting all ordered
      extents in a range, the order is not important.
    
    For incoming btrfs_invalidatepage() refactoring, we need a way to
    properly iterate all ordered extents in their bytenr order of a range.
    
    So this patch will introduce a new function,
    btrfs_lookup_first_ordered_range(), to do ordered extent with bytenr
    order awareness and extra range check.
    Signed-off-by: default avatarQu Wenruo <wqu@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    c095f333
ordered-data.c 31.3 KB