Commit e7ca7f17 authored by Matthew Wilcox (Oracle)'s avatar Matthew Wilcox (Oracle) Committed by Andrew Morton

ufs: use ufs_get_locked_folio() in ufs_alloc_lastblock()

Switch to the folio APIs, saving one folio->page->folio conversion.

Link: https://lkml.kernel.org/r/20231016201114.1928083-25-willy@infradead.orgSigned-off-by: default avatarMatthew 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: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 5fb7bd50
...@@ -1057,7 +1057,7 @@ static int ufs_alloc_lastblock(struct inode *inode, loff_t size) ...@@ -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; struct ufs_sb_private_info *uspi = UFS_SB(sb)->s_uspi;
unsigned i, end; unsigned i, end;
sector_t lastfrag; sector_t lastfrag;
struct page *lastpage; struct folio *folio;
struct buffer_head *bh; struct buffer_head *bh;
u64 phys64; u64 phys64;
...@@ -1068,18 +1068,17 @@ static int ufs_alloc_lastblock(struct inode *inode, loff_t size) ...@@ -1068,18 +1068,17 @@ static int ufs_alloc_lastblock(struct inode *inode, loff_t size)
lastfrag--; lastfrag--;
lastpage = ufs_get_locked_page(mapping, lastfrag >> folio = ufs_get_locked_folio(mapping, lastfrag >>
(PAGE_SHIFT - inode->i_blkbits)); (PAGE_SHIFT - inode->i_blkbits));
if (IS_ERR(lastpage)) { if (IS_ERR(folio)) {
err = -EIO; err = -EIO;
goto out; 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;
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); err = ufs_getfrag_block(inode, lastfrag, bh, 1);
...@@ -1095,7 +1094,7 @@ static int ufs_alloc_lastblock(struct inode *inode, loff_t size) ...@@ -1095,7 +1094,7 @@ static int ufs_alloc_lastblock(struct inode *inode, loff_t size)
*/ */
set_buffer_uptodate(bh); set_buffer_uptodate(bh);
mark_buffer_dirty(bh); mark_buffer_dirty(bh);
set_page_dirty(lastpage); folio_mark_dirty(folio);
} }
if (lastfrag >= UFS_IND_FRAGMENT) { if (lastfrag >= UFS_IND_FRAGMENT) {
...@@ -1113,7 +1112,7 @@ static int ufs_alloc_lastblock(struct inode *inode, loff_t size) ...@@ -1113,7 +1112,7 @@ static int ufs_alloc_lastblock(struct inode *inode, loff_t size)
} }
} }
out_unlock: out_unlock:
ufs_put_locked_page(lastpage); ufs_put_locked_folio(folio);
out: out:
return err; return err;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment