• Qu Wenruo's avatar
    btrfs: make page Ordered bit to be subpage compatible · b945a463
    Qu Wenruo authored
    This involves the following modification:
    
    - Ordered extent creation
      This is done in process_one_page(), now PAGE_SET_ORDERED will call
      subpage helper to do the work.
    
    - endio functions
      This is done in btrfs_mark_ordered_io_finished().
    
    - btrfs_invalidatepage()
    
    - btrfs_cleanup_ordered_extents()
      Use the subpage page helper, and add an extra branch to exit if the
      locked page have covered the full range.
    
    Now the usage of page Ordered flag for ordered extent accounting is fully
    subpage compatible.
    
    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>
    b945a463
ordered-data.c 31.4 KB