aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/extent_io.c
diff options
context:
space:
mode:
authorQu Wenruo <wqu@suse.com>2021-05-31 16:50:46 +0800
committerDavid Sterba <dsterba@suse.com>2021-06-21 15:19:10 +0200
commitb945a4637ec72a8ed0e526580a136d24f11abde1 (patch)
treea410675d955e6a742f8ad4d0a41725db980e578d /fs/btrfs/extent_io.c
parentbtrfs: introduce helpers for subpage ordered status (diff)
downloadlinux-dev-b945a4637ec72a8ed0e526580a136d24f11abde1.tar.xz
linux-dev-b945a4637ec72a8ed0e526580a136d24f11abde1.zip
btrfs: make page Ordered bit to be subpage compatible
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: Qu Wenruo <wqu@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/extent_io.c')
-rw-r--r--fs/btrfs/extent_io.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index 8cb51da0e16d..37a24b2e63ef 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -1827,7 +1827,7 @@ static int process_one_page(struct btrfs_fs_info *fs_info,
len = end + 1 - start;
if (page_ops & PAGE_SET_ORDERED)
- SetPageOrdered(page);
+ btrfs_page_clamp_set_ordered(fs_info, page, start, len);
if (page == locked_page)
return 1;