]> www.infradead.org Git - users/hch/dma-mapping.git/commitdiff
btrfs: convert extent_range_clear_dirty_for_io() to use a folio
authorJosef Bacik <josef@toxicpanda.com>
Thu, 25 Jul 2024 00:39:35 +0000 (20:39 -0400)
committerDavid Sterba <dsterba@suse.com>
Tue, 10 Sep 2024 14:51:17 +0000 (16:51 +0200)
Instead of getting a page and using that to clear dirty for io, use the
folio helper and use the appropriate folio functions.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/inode.c

index cd9290f86a4c8f17b5e368085544121862aba9a9..a9656e5529fb8349c7d79c004361d703921194e4 100644 (file)
@@ -877,19 +877,19 @@ static inline void inode_should_defrag(struct btrfs_inode *inode,
 static int extent_range_clear_dirty_for_io(struct inode *inode, u64 start, u64 end)
 {
        unsigned long end_index = end >> PAGE_SHIFT;
-       struct page *page;
+       struct folio *folio;
        int ret = 0;
 
        for (unsigned long index = start >> PAGE_SHIFT;
             index <= end_index; index++) {
-               page = find_get_page(inode->i_mapping, index);
-               if (unlikely(!page)) {
+               folio = __filemap_get_folio(inode->i_mapping, index, 0, 0);
+               if (IS_ERR(folio)) {
                        if (!ret)
-                               ret = -ENOENT;
+                               ret = PTR_ERR(folio);
                        continue;
                }
-               clear_page_dirty_for_io(page);
-               put_page(page);
+               folio_clear_dirty_for_io(folio);
+               folio_put(folio);
        }
        return ret;
 }