Commit f2b229a8 authored by Matthew Wilcox's avatar Matthew Wilcox Committed by Theodore Ts'o

ext4: Use a folio iterator in __read_end_io()

Iterate once per folio, not once per page.
Signed-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
Link: https://lore.kernel.org/r/20230324180129.1220691-27-willy@infradead.orgSigned-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
parent 9ea0e45b
...@@ -68,18 +68,16 @@ struct bio_post_read_ctx { ...@@ -68,18 +68,16 @@ struct bio_post_read_ctx {
static void __read_end_io(struct bio *bio) static void __read_end_io(struct bio *bio)
{ {
struct page *page; struct folio_iter fi;
struct bio_vec *bv;
struct bvec_iter_all iter_all;
bio_for_each_segment_all(bv, bio, iter_all) { bio_for_each_folio_all(fi, bio) {
page = bv->bv_page; struct folio *folio = fi.folio;
if (bio->bi_status) if (bio->bi_status)
ClearPageUptodate(page); folio_clear_uptodate(folio);
else else
SetPageUptodate(page); folio_mark_uptodate(folio);
unlock_page(page); folio_unlock(folio);
} }
if (bio->bi_private) if (bio->bi_private)
mempool_free(bio->bi_private, bio_post_read_ctx_pool); mempool_free(bio->bi_private, bio_post_read_ctx_pool);
......
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