Lines Matching refs:bio

46 static void mpage_read_end_io(struct bio *bio)  in mpage_read_end_io()  argument
49 int err = blk_status_to_errno(bio->bi_status); in mpage_read_end_io()
51 bio_for_each_folio_all(fi, bio) in mpage_read_end_io()
54 bio_put(bio); in mpage_read_end_io()
57 static void mpage_write_end_io(struct bio *bio) in mpage_write_end_io() argument
60 int err = blk_status_to_errno(bio->bi_status); in mpage_write_end_io()
62 bio_for_each_folio_all(fi, bio) { in mpage_write_end_io()
68 bio_put(bio); in mpage_write_end_io()
71 static struct bio *mpage_bio_submit_read(struct bio *bio) in mpage_bio_submit_read() argument
73 bio->bi_end_io = mpage_read_end_io; in mpage_bio_submit_read()
74 guard_bio_eod(bio); in mpage_bio_submit_read()
75 submit_bio(bio); in mpage_bio_submit_read()
79 static struct bio *mpage_bio_submit_write(struct bio *bio) in mpage_bio_submit_write() argument
81 bio->bi_end_io = mpage_write_end_io; in mpage_bio_submit_write()
82 guard_bio_eod(bio); in mpage_bio_submit_write()
83 submit_bio(bio); in mpage_bio_submit_write()
132 struct bio *bio; member
282 if (args->bio && (args->last_block_in_bio != first_block - 1)) in do_mpage_readpage()
283 args->bio = mpage_bio_submit_read(args->bio); in do_mpage_readpage()
286 if (args->bio == NULL) { in do_mpage_readpage()
287 args->bio = bio_alloc(bdev, bio_max_segs(args->nr_pages), opf, in do_mpage_readpage()
289 if (args->bio == NULL) in do_mpage_readpage()
291 args->bio->bi_iter.bi_sector = first_block << (blkbits - 9); in do_mpage_readpage()
295 if (!bio_add_folio(args->bio, folio, length, 0)) { in do_mpage_readpage()
296 args->bio = mpage_bio_submit_read(args->bio); in do_mpage_readpage()
304 args->bio = mpage_bio_submit_read(args->bio); in do_mpage_readpage()
311 if (args->bio) in do_mpage_readpage()
312 args->bio = mpage_bio_submit_read(args->bio); in do_mpage_readpage()
379 if (args.bio) in mpage_readahead()
380 mpage_bio_submit_read(args.bio); in mpage_readahead()
396 if (args.bio) in mpage_read_folio()
397 mpage_bio_submit_read(args.bio); in mpage_read_folio()
420 struct bio *bio; member
457 struct bio *bio = mpd->bio; in mpage_write_folio() local
593 if (bio && mpd->last_block_in_bio != first_block - 1) in mpage_write_folio()
594 bio = mpage_bio_submit_write(bio); in mpage_write_folio()
597 if (bio == NULL) { in mpage_write_folio()
598 bio = bio_alloc(bdev, BIO_MAX_VECS, in mpage_write_folio()
601 bio->bi_iter.bi_sector = first_block << (blkbits - 9); in mpage_write_folio()
602 wbc_init_bio(wbc, bio); in mpage_write_folio()
603 bio->bi_write_hint = inode->i_write_hint; in mpage_write_folio()
613 if (!bio_add_folio(bio, folio, length, 0)) { in mpage_write_folio()
614 bio = mpage_bio_submit_write(bio); in mpage_write_folio()
624 bio = mpage_bio_submit_write(bio); in mpage_write_folio()
635 if (bio) in mpage_write_folio()
636 bio = mpage_bio_submit_write(bio); in mpage_write_folio()
644 mpd->bio = bio; in mpage_write_folio()
671 if (mpd.bio) in mpage_writepages()
672 mpage_bio_submit_write(mpd.bio); in mpage_writepages()