Lines Matching refs:bio

89 static void store_io_and_region_in_bio(struct bio *bio, struct io *io,  in store_io_and_region_in_bio()  argument
97 bio->bi_private = (void *)((unsigned long)io | region); in store_io_and_region_in_bio()
100 static void retrieve_io_and_region_from_bio(struct bio *bio, struct io **io, in retrieve_io_and_region_from_bio() argument
103 unsigned long val = (unsigned long)bio->bi_private; in retrieve_io_and_region_from_bio()
136 static void endio(struct bio *bio) in endio() argument
142 if (bio->bi_error && bio_data_dir(bio) == READ) in endio()
143 zero_fill_bio(bio); in endio()
148 retrieve_io_and_region_from_bio(bio, &io, &region); in endio()
150 error = bio->bi_error; in endio()
151 bio_put(bio); in endio()
220 static void bio_dp_init(struct dpages *dp, struct bio *bio) in bio_dp_init() argument
224 dp->context_ptr = __bvec_iter_bvec(bio->bi_io_vec, bio->bi_iter); in bio_dp_init()
225 dp->context_u = bio->bi_iter.bi_bvec_done; in bio_dp_init()
284 struct bio *bio; in do_region() local
321 bio = bio_alloc_bioset(GFP_NOIO, num_bvecs, io->client->bios); in do_region()
322 bio->bi_iter.bi_sector = where->sector + (where->count - remaining); in do_region()
323 bio->bi_bdev = where->bdev; in do_region()
324 bio->bi_end_io = endio; in do_region()
325 store_io_and_region_in_bio(bio, io, region); in do_region()
329 bio->bi_iter.bi_size = num_sectors << SECTOR_SHIFT; in do_region()
336 bio_add_page(bio, page, logical_block_size, offset); in do_region()
338 bio->bi_iter.bi_size = num_sectors << SECTOR_SHIFT; in do_region()
349 if (!bio_add_page(bio, page, len, offset)) in do_region()
358 submit_bio(rw, bio); in do_region()
478 bio_dp_init(dp, io_req->mem.ptr.bio); in dp_init()