diff options
author | Matthew Wilcox (Oracle) <willy@infradead.org> | 2024-01-24 18:52:57 +0100 |
---|---|---|
committer | Richard Weinberger <richard@nod.at> | 2024-02-25 21:08:02 +0100 |
commit | d06192731c335cb7b62ad0dd211de26e03d56f3f (patch) | |
tree | 90511223f55d3411827031d3e506819ea924f65d | |
parent | ubifs: Pass a folio into ubifs_bulk_read() and ubifs_do_bulk_read() (diff) | |
download | linux-d06192731c335cb7b62ad0dd211de26e03d56f3f.tar.xz linux-d06192731c335cb7b62ad0dd211de26e03d56f3f.zip |
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>
-rw-r--r-- | fs/ubifs/file.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/fs/ubifs/file.c b/fs/ubifs/file.c index f481fca7f53d..11bf9f8cca6c 100644 --- a/fs/ubifs/file.c +++ b/fs/ubifs/file.c @@ -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; } |