mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-19 14:56:21 +00:00
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.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>
This commit is contained in:
parent
5fb7bd50b3
commit
e7ca7f1725
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user