Commit d0619273 authored by Matthew Wilcox (Oracle)'s avatar Matthew Wilcox (Oracle) Committed by Richard Weinberger

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: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: default avatarZhihao Cheng <chengzhihao1@huawei.com>
Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
parent 7f348f8c
...@@ -775,19 +775,19 @@ static int ubifs_do_bulk_read(struct ubifs_info *c, struct bu_info *bu, ...@@ -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++) { for (page_idx = 1; page_idx < page_cnt; page_idx++) {
pgoff_t page_offset = offset + page_idx; pgoff_t page_offset = offset + page_idx;
struct page *page; struct folio *folio;
if (page_offset > end_index) if (page_offset > end_index)
break; break;
page = pagecache_get_page(mapping, page_offset, folio = __filemap_get_folio(mapping, page_offset,
FGP_LOCK|FGP_ACCESSED|FGP_CREAT|FGP_NOWAIT, FGP_LOCK|FGP_ACCESSED|FGP_CREAT|FGP_NOWAIT,
ra_gfp_mask); ra_gfp_mask);
if (!page) if (IS_ERR(folio))
break; break;
if (!PageUptodate(page)) if (!folio_test_uptodate(folio))
err = populate_page(c, page, bu, &n); err = populate_page(c, &folio->page, bu, &n);
unlock_page(page); folio_unlock(folio);
put_page(page); folio_put(folio);
if (err) if (err)
break; break;
} }
......
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