To support subpage in set_extent_buffer_uptodate and
clear_extent_buffer_uptodate we only need to use the subpage-aware
helpers to update the page bits.

Signed-off-by: Qu Wenruo <w...@suse.com>
Reviewed-by: David Sterba <dste...@suse.com>
Signed-off-by: David Sterba <dste...@suse.com>
---
 fs/btrfs/extent_io.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index 7ee28d94bae9..78fd36ba1f47 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -5670,30 +5670,33 @@ bool set_extent_buffer_dirty(struct extent_buffer *eb)
 
 void clear_extent_buffer_uptodate(struct extent_buffer *eb)
 {
-       int i;
+       struct btrfs_fs_info *fs_info = eb->fs_info;
        struct page *page;
        int num_pages;
+       int i;
 
        clear_bit(EXTENT_BUFFER_UPTODATE, &eb->bflags);
        num_pages = num_extent_pages(eb);
        for (i = 0; i < num_pages; i++) {
                page = eb->pages[i];
                if (page)
-                       ClearPageUptodate(page);
+                       btrfs_page_clear_uptodate(fs_info, page,
+                                                 eb->start, eb->len);
        }
 }
 
 void set_extent_buffer_uptodate(struct extent_buffer *eb)
 {
-       int i;
+       struct btrfs_fs_info *fs_info = eb->fs_info;
        struct page *page;
        int num_pages;
+       int i;
 
        set_bit(EXTENT_BUFFER_UPTODATE, &eb->bflags);
        num_pages = num_extent_pages(eb);
        for (i = 0; i < num_pages; i++) {
                page = eb->pages[i];
-               SetPageUptodate(page);
+               btrfs_page_set_uptodate(fs_info, page, eb->start, eb->len);
        }
 }
 
-- 
2.30.0

Reply via email to