Lines Matching refs:bio

259 static int stripe_map_range(struct stripe_c *sc, struct bio *bio,  in stripe_map_range()  argument
264 stripe_map_range_sector(sc, bio->bi_iter.bi_sector, in stripe_map_range()
266 stripe_map_range_sector(sc, bio_end_sector(bio), in stripe_map_range()
269 bio->bi_bdev = sc->stripe[target_stripe].dev->bdev; in stripe_map_range()
270 bio->bi_iter.bi_sector = begin + in stripe_map_range()
272 bio->bi_iter.bi_size = to_bytes(end - begin); in stripe_map_range()
276 bio_endio(bio, 0); in stripe_map_range()
281 static int stripe_map(struct dm_target *ti, struct bio *bio) in stripe_map() argument
287 if (bio->bi_rw & REQ_FLUSH) { in stripe_map()
288 target_bio_nr = dm_bio_get_target_bio_nr(bio); in stripe_map()
290 bio->bi_bdev = sc->stripe[target_bio_nr].dev->bdev; in stripe_map()
293 if (unlikely(bio->bi_rw & REQ_DISCARD) || in stripe_map()
294 unlikely(bio->bi_rw & REQ_WRITE_SAME)) { in stripe_map()
295 target_bio_nr = dm_bio_get_target_bio_nr(bio); in stripe_map()
297 return stripe_map_range(sc, bio, target_bio_nr); in stripe_map()
300 stripe_map_sector(sc, bio->bi_iter.bi_sector, in stripe_map()
301 &stripe, &bio->bi_iter.bi_sector); in stripe_map()
303 bio->bi_iter.bi_sector += sc->stripe[stripe].physical_start; in stripe_map()
304 bio->bi_bdev = sc->stripe[stripe].dev->bdev; in stripe_map()
352 static int stripe_end_io(struct dm_target *ti, struct bio *bio, int error) in stripe_end_io() argument
361 if ((error == -EWOULDBLOCK) && (bio->bi_rw & REQ_RAHEAD)) in stripe_end_io()
369 MAJOR(disk_devt(bio->bi_bdev->bd_disk)), in stripe_end_io()
370 MINOR(disk_devt(bio->bi_bdev->bd_disk))); in stripe_end_io()