Lines Matching defs:bio
70 struct bio *bio = mp_bh->master_bio;
73 bio->bi_status = status;
74 bio_endio(bio);
78 static void multipath_end_request(struct bio *bio)
80 struct multipath_bh *mp_bh = bio->bi_private;
84 if (!bio->bi_status)
86 else if (!(bio->bi_opf & REQ_RAHEAD)) {
94 (unsigned long long)bio->bi_iter.bi_sector);
97 multipath_end_bh_io(mp_bh, bio->bi_status);
101 static bool multipath_make_request(struct mddev *mddev, struct bio * bio)
107 if (unlikely(bio->bi_opf & REQ_PREFLUSH)
108 && md_flush_request(mddev, bio))
113 mp_bh->master_bio = bio;
118 bio_io_error(bio);
124 bio_init(&mp_bh->bio, NULL, 0);
125 __bio_clone_fast(&mp_bh->bio, bio);
127 mp_bh->bio.bi_iter.bi_sector += multipath->rdev->data_offset;
128 bio_set_dev(&mp_bh->bio, multipath->rdev->bdev);
129 mp_bh->bio.bi_opf |= REQ_FAILFAST_TRANSPORT;
130 mp_bh->bio.bi_end_io = multipath_end_request;
131 mp_bh->bio.bi_private = mp_bh;
132 mddev_check_writesame(mddev, &mp_bh->bio);
133 mddev_check_write_zeroes(mddev, &mp_bh->bio);
134 submit_bio_noacct(&mp_bh->bio);
295 struct bio *bio;
310 bio = &mp_bh->bio;
311 bio->bi_iter.bi_sector = mp_bh->master_bio->bi_iter.bi_sector;
315 bio_devname(bio, b),
316 (unsigned long long)bio->bi_iter.bi_sector);
320 bio_devname(bio, b),
321 (unsigned long long)bio->bi_iter.bi_sector);
322 *bio = *(mp_bh->master_bio);
323 bio->bi_iter.bi_sector +=
325 bio_set_dev(bio, conf->multipaths[mp_bh->path].rdev->bdev);
326 bio->bi_opf |= REQ_FAILFAST_TRANSPORT;
327 bio->bi_end_io = multipath_end_request;
328 bio->bi_private = mp_bh;
329 submit_bio_noacct(bio);