Lines Matching refs:bio
46 static void mpage_end_io(struct bio *bio) in mpage_end_io() argument
51 bio_for_each_segment_all(bv, bio, iter_all) { in mpage_end_io()
53 page_endio(page, bio_op(bio), in mpage_end_io()
54 blk_status_to_errno(bio->bi_status)); in mpage_end_io()
57 bio_put(bio); in mpage_end_io()
60 static struct bio *mpage_bio_submit(struct bio *bio) in mpage_bio_submit() argument
62 bio->bi_end_io = mpage_end_io; in mpage_bio_submit()
63 guard_bio_eod(bio); in mpage_bio_submit()
64 submit_bio(bio); in mpage_bio_submit()
114 struct bio *bio; member
133 static struct bio *do_mpage_readpage(struct mpage_readpage_args *args) in do_mpage_readpage()
267 if (args->bio && (args->last_block_in_bio != blocks[0] - 1)) in do_mpage_readpage()
268 args->bio = mpage_bio_submit(args->bio); in do_mpage_readpage()
271 if (args->bio == NULL) { in do_mpage_readpage()
277 args->bio = bio_alloc(bdev, bio_max_segs(args->nr_pages), opf, in do_mpage_readpage()
279 if (args->bio == NULL) in do_mpage_readpage()
281 args->bio->bi_iter.bi_sector = blocks[0] << (blkbits - 9); in do_mpage_readpage()
285 if (!bio_add_folio(args->bio, folio, length, 0)) { in do_mpage_readpage()
286 args->bio = mpage_bio_submit(args->bio); in do_mpage_readpage()
294 args->bio = mpage_bio_submit(args->bio); in do_mpage_readpage()
298 return args->bio; in do_mpage_readpage()
301 if (args->bio) in do_mpage_readpage()
302 args->bio = mpage_bio_submit(args->bio); in do_mpage_readpage()
361 args.bio = do_mpage_readpage(&args); in mpage_readahead()
363 if (args.bio) in mpage_readahead()
364 mpage_bio_submit(args.bio); in mpage_readahead()
379 args.bio = do_mpage_readpage(&args); in mpage_read_folio()
380 if (args.bio) in mpage_read_folio()
381 mpage_bio_submit(args.bio); in mpage_read_folio()
404 struct bio *bio; member
452 struct bio *bio = mpd->bio; in __mpage_writepage() local
577 if (bio && mpd->last_block_in_bio != blocks[0] - 1) in __mpage_writepage()
578 bio = mpage_bio_submit(bio); in __mpage_writepage()
581 if (bio == NULL) { in __mpage_writepage()
587 bio = bio_alloc(bdev, BIO_MAX_VECS, in __mpage_writepage()
590 bio->bi_iter.bi_sector = blocks[0] << (blkbits - 9); in __mpage_writepage()
591 wbc_init_bio(wbc, bio); in __mpage_writepage()
601 if (bio_add_page(bio, page, length, 0) < length) { in __mpage_writepage()
602 bio = mpage_bio_submit(bio); in __mpage_writepage()
612 bio = mpage_bio_submit(bio); in __mpage_writepage()
623 if (bio) in __mpage_writepage()
624 bio = mpage_bio_submit(bio); in __mpage_writepage()
632 mpd->bio = bio; in __mpage_writepage()
665 if (mpd.bio) in mpage_writepages()
666 mpage_bio_submit(mpd.bio); in mpage_writepages()