Lines Matching defs:bio
14 #include <linux/bio.h>
249 static int stripe_map_range(struct stripe_c *sc, struct bio *bio,
254 stripe_map_range_sector(sc, bio->bi_iter.bi_sector,
256 stripe_map_range_sector(sc, bio_end_sector(bio),
259 bio_set_dev(bio, sc->stripe[target_stripe].dev->bdev);
260 bio->bi_iter.bi_sector = begin +
262 bio->bi_iter.bi_size = to_bytes(end - begin);
267 bio_endio(bio);
271 static int stripe_map(struct dm_target *ti, struct bio *bio)
277 if (bio->bi_opf & REQ_PREFLUSH) {
278 target_bio_nr = dm_bio_get_target_bio_nr(bio);
280 bio_set_dev(bio, sc->stripe[target_bio_nr].dev->bdev);
283 if (unlikely(bio_op(bio) == REQ_OP_DISCARD) ||
284 unlikely(bio_op(bio) == REQ_OP_SECURE_ERASE) ||
285 unlikely(bio_op(bio) == REQ_OP_WRITE_ZEROES)) {
286 target_bio_nr = dm_bio_get_target_bio_nr(bio);
288 return stripe_map_range(sc, bio, target_bio_nr);
291 stripe_map_sector(sc, bio->bi_iter.bi_sector,
292 &stripe, &bio->bi_iter.bi_sector);
294 bio->bi_iter.bi_sector += sc->stripe[stripe].physical_start;
295 bio_set_dev(bio, sc->stripe[stripe].dev->bdev);
403 static int stripe_end_io(struct dm_target *ti, struct bio *bio,
413 if (bio->bi_opf & REQ_RAHEAD)
420 sprintf(major_minor, "%d:%d", MAJOR(bio_dev(bio)), MINOR(bio_dev(bio)));