mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-04 04:02:26 +00:00
ubifs: Use a folio in ubifs_do_bulk_read()
When looking in the page cache, retrieve a folio instead of a page. This would need some work to make it safe for large folios. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: Zhihao Cheng <chengzhihao1@huawei.com> Signed-off-by: Richard Weinberger <richard@nod.at>
This commit is contained in:
parent
7f348f8ce5
commit
d06192731c
@ -775,19 +775,19 @@ static int ubifs_do_bulk_read(struct ubifs_info *c, struct bu_info *bu,
|
||||
|
||||
for (page_idx = 1; page_idx < page_cnt; page_idx++) {
|
||||
pgoff_t page_offset = offset + page_idx;
|
||||
struct page *page;
|
||||
struct folio *folio;
|
||||
|
||||
if (page_offset > end_index)
|
||||
break;
|
||||
page = pagecache_get_page(mapping, page_offset,
|
||||
folio = __filemap_get_folio(mapping, page_offset,
|
||||
FGP_LOCK|FGP_ACCESSED|FGP_CREAT|FGP_NOWAIT,
|
||||
ra_gfp_mask);
|
||||
if (!page)
|
||||
if (IS_ERR(folio))
|
||||
break;
|
||||
if (!PageUptodate(page))
|
||||
err = populate_page(c, page, bu, &n);
|
||||
unlock_page(page);
|
||||
put_page(page);
|
||||
if (!folio_test_uptodate(folio))
|
||||
err = populate_page(c, &folio->page, bu, &n);
|
||||
folio_unlock(folio);
|
||||
folio_put(folio);
|
||||
if (err)
|
||||
break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user