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
151 static struct bio *do_mpage_readpage(struct mpage_readpage_args *args) in do_mpage_readpage()
285 if (args->bio && (args->last_block_in_bio != first_block - 1)) in do_mpage_readpage()
286 args->bio = mpage_bio_submit_read(args->bio); in do_mpage_readpage()
289 if (args->bio == NULL) { in do_mpage_readpage()
290 args->bio = bio_alloc(bdev, bio_max_segs(args->nr_pages), opf, in do_mpage_readpage()
292 if (args->bio == NULL) in do_mpage_readpage()
294 args->bio->bi_iter.bi_sector = first_block << (blkbits - 9); in do_mpage_readpage()
298 if (!bio_add_folio(args->bio, folio, length, 0)) { in do_mpage_readpage()
299 args->bio = mpage_bio_submit_read(args->bio); in do_mpage_readpage()
307 args->bio = mpage_bio_submit_read(args->bio); in do_mpage_readpage()
311 return args->bio; in do_mpage_readpage()
314 if (args->bio) in do_mpage_readpage()
315 args->bio = mpage_bio_submit_read(args->bio); in do_mpage_readpage()
374 args.bio = do_mpage_readpage(&args); in mpage_readahead()
376 if (args.bio) in mpage_readahead()
377 mpage_bio_submit_read(args.bio); in mpage_readahead()
392 args.bio = do_mpage_readpage(&args); in mpage_read_folio()
393 if (args.bio) in mpage_read_folio()
394 mpage_bio_submit_read(args.bio); in mpage_read_folio()
417 struct bio *bio; member
455 struct bio *bio = mpd->bio; in __mpage_writepage() local
591 if (bio && mpd->last_block_in_bio != first_block - 1) in __mpage_writepage()
592 bio = mpage_bio_submit_write(bio); in __mpage_writepage()
595 if (bio == NULL) { in __mpage_writepage()
596 bio = bio_alloc(bdev, BIO_MAX_VECS, in __mpage_writepage()
599 bio->bi_iter.bi_sector = first_block << (blkbits - 9); in __mpage_writepage()
600 wbc_init_bio(wbc, bio); in __mpage_writepage()
601 bio->bi_write_hint = inode->i_write_hint; in __mpage_writepage()
611 if (!bio_add_folio(bio, folio, length, 0)) { in __mpage_writepage()
612 bio = mpage_bio_submit_write(bio); in __mpage_writepage()
622 bio = mpage_bio_submit_write(bio); in __mpage_writepage()
633 if (bio) in __mpage_writepage()
634 bio = mpage_bio_submit_write(bio); in __mpage_writepage()
642 mpd->bio = bio; in __mpage_writepage()
667 if (mpd.bio) in mpage_writepages()
668 mpage_bio_submit_write(mpd.bio); in mpage_writepages()