Lines Matching refs:bio

261 static int stripe_map_range(struct stripe_c *sc, struct bio *bio,  in stripe_map_range()  argument
266 stripe_map_range_sector(sc, bio->bi_iter.bi_sector, in stripe_map_range()
268 stripe_map_range_sector(sc, bio_end_sector(bio), in stripe_map_range()
271 bio->bi_bdev = sc->stripe[target_stripe].dev->bdev; in stripe_map_range()
272 bio->bi_iter.bi_sector = begin + in stripe_map_range()
274 bio->bi_iter.bi_size = to_bytes(end - begin); in stripe_map_range()
278 bio_endio(bio); in stripe_map_range()
283 static int stripe_map(struct dm_target *ti, struct bio *bio) in stripe_map() argument
289 if (bio->bi_rw & REQ_FLUSH) { in stripe_map()
290 target_bio_nr = dm_bio_get_target_bio_nr(bio); in stripe_map()
292 bio->bi_bdev = sc->stripe[target_bio_nr].dev->bdev; in stripe_map()
295 if (unlikely(bio->bi_rw & REQ_DISCARD) || in stripe_map()
296 unlikely(bio->bi_rw & REQ_WRITE_SAME)) { in stripe_map()
297 target_bio_nr = dm_bio_get_target_bio_nr(bio); in stripe_map()
299 return stripe_map_range(sc, bio, target_bio_nr); in stripe_map()
302 stripe_map_sector(sc, bio->bi_iter.bi_sector, in stripe_map()
303 &stripe, &bio->bi_iter.bi_sector); in stripe_map()
305 bio->bi_iter.bi_sector += sc->stripe[stripe].physical_start; in stripe_map()
306 bio->bi_bdev = sc->stripe[stripe].dev->bdev; in stripe_map()
354 static int stripe_end_io(struct dm_target *ti, struct bio *bio, int error) in stripe_end_io() argument
363 if ((error == -EWOULDBLOCK) && (bio->bi_rw & REQ_RAHEAD)) in stripe_end_io()
371 MAJOR(disk_devt(bio->bi_bdev->bd_disk)), in stripe_end_io()
372 MINOR(disk_devt(bio->bi_bdev->bd_disk))); in stripe_end_io()