• Qu Wenruo's avatar
    btrfs: introduce helpers for subpage ordered status · 6f17400b
    Qu Wenruo authored
    This patch introduces the following functions to handle btrfs subpage
    ordered (Private2) status:
    
    - btrfs_subpage_set_ordered()
    - btrfs_subpage_clear_ordered()
    - btrfs_subpage_test_ordered()
      These helpers can only be called when the range is ensured to be
      inside the page.
    
    - btrfs_page_set_ordered()
    - btrfs_page_clear_ordered()
    - btrfs_page_test_ordered()
      These helpers can handle both regular sector size and subpage without
      problem.
    
    These functions are here to coordinate btrfs_invalidatepage() with
    btrfs_writepage_endio_finish_ordered(), to make sure only one of those
    functions can finish the ordered extent.
    
    Tested-by: Ritesh Harjani <riteshh@linux.ibm.com> # [ppc64]
    Tested-by: Anand Jain <anand.jain@oracle.com> # [aarch64]
    Signed-off-by: default avatarQu Wenruo <wqu@suse.com>
    Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
    6f17400b
subpage.c 17.3 KB