ufs: use ufs_get_locked_folio() in ufs_alloc_lastblock()
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Mon, 16 Oct 2023 20:11:11 +0000 (21:11 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Wed, 25 Oct 2023 23:47:09 +0000 (16:47 -0700)
Switch to the folio APIs, saving one folio->page->folio conversion.

Link: https://lkml.kernel.org/r/20231016201114.1928083-25-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Cc: Andreas Gruenbacher <agruenba@redhat.com>
Cc: Pankaj Raghav <p.raghav@samsung.com>
Cc: Ryusuke Konishi <konishi.ryusuke@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/ufs/inode.c

index 21a4779a2de5ff9b24c2c50bc314806d121628dd..5b289374d4fd0e1f0a9b8a8c9b787b7d173f8a93 100644 (file)
@@ -1057,7 +1057,7 @@ static int ufs_alloc_lastblock(struct inode *inode, loff_t size)
        struct ufs_sb_private_info *uspi = UFS_SB(sb)->s_uspi;
        unsigned i, end;
        sector_t lastfrag;
-       struct page *lastpage;
+       struct folio *folio;
        struct buffer_head *bh;
        u64 phys64;
 
@@ -1068,18 +1068,17 @@ static int ufs_alloc_lastblock(struct inode *inode, loff_t size)
 
        lastfrag--;
 
-       lastpage = ufs_get_locked_page(mapping, lastfrag >>
+       folio = ufs_get_locked_folio(mapping, lastfrag >>
                                       (PAGE_SHIFT - inode->i_blkbits));
-       if (IS_ERR(lastpage)) {
-               err = -EIO;
-               goto out;
-       }
-
-       end = lastfrag & ((1 << (PAGE_SHIFT - inode->i_blkbits)) - 1);
-       bh = page_buffers(lastpage);
-       for (i = 0; i < end; ++i)
-               bh = bh->b_this_page;
+       if (IS_ERR(folio)) {
+               err = -EIO;
+               goto out;
+       }
 
+       end = lastfrag & ((1 << (PAGE_SHIFT - inode->i_blkbits)) - 1);
+       bh = folio_buffers(folio);
+       for (i = 0; i < end; ++i)
+               bh = bh->b_this_page;
 
        err = ufs_getfrag_block(inode, lastfrag, bh, 1);
 
@@ -1095,7 +1094,7 @@ static int ufs_alloc_lastblock(struct inode *inode, loff_t size)
                */
               set_buffer_uptodate(bh);
               mark_buffer_dirty(bh);
-              set_page_dirty(lastpage);
+               folio_mark_dirty(folio);
        }
 
        if (lastfrag >= UFS_IND_FRAGMENT) {
@@ -1113,7 +1112,7 @@ static int ufs_alloc_lastblock(struct inode *inode, loff_t size)
               }
        }
 out_unlock:
-       ufs_put_locked_page(lastpage);
+       ufs_put_locked_folio(folio);
 out:
        return err;
 }