Lines Matching refs:bio
77 struct bio *bio = mp_bh->master_bio; in multipath_end_bh_io() local
80 bio->bi_error = err; in multipath_end_bh_io()
81 bio_endio(bio); in multipath_end_bh_io()
85 static void multipath_end_request(struct bio *bio) in multipath_end_request() argument
87 struct multipath_bh *mp_bh = bio->bi_private; in multipath_end_request()
91 if (!bio->bi_error) in multipath_end_request()
93 else if (!(bio->bi_rw & REQ_RAHEAD)) { in multipath_end_request()
101 (unsigned long long)bio->bi_iter.bi_sector); in multipath_end_request()
104 multipath_end_bh_io(mp_bh, bio->bi_error); in multipath_end_request()
108 static void multipath_make_request(struct mddev *mddev, struct bio * bio) in multipath_make_request() argument
114 if (unlikely(bio->bi_rw & REQ_FLUSH)) { in multipath_make_request()
115 md_flush_request(mddev, bio); in multipath_make_request()
121 mp_bh->master_bio = bio; in multipath_make_request()
126 bio_io_error(bio); in multipath_make_request()
132 bio_init(&mp_bh->bio); in multipath_make_request()
133 __bio_clone_fast(&mp_bh->bio, bio); in multipath_make_request()
135 mp_bh->bio.bi_iter.bi_sector += multipath->rdev->data_offset; in multipath_make_request()
136 mp_bh->bio.bi_bdev = multipath->rdev->bdev; in multipath_make_request()
137 mp_bh->bio.bi_rw |= REQ_FAILFAST_TRANSPORT; in multipath_make_request()
138 mp_bh->bio.bi_end_io = multipath_end_request; in multipath_make_request()
139 mp_bh->bio.bi_private = mp_bh; in multipath_make_request()
140 generic_make_request(&mp_bh->bio); in multipath_make_request()
325 struct bio *bio; in multipathd() local
340 bio = &mp_bh->bio; in multipathd()
341 bio->bi_iter.bi_sector = mp_bh->master_bio->bi_iter.bi_sector; in multipathd()
346 bdevname(bio->bi_bdev,b), in multipathd()
347 (unsigned long long)bio->bi_iter.bi_sector); in multipathd()
352 bdevname(bio->bi_bdev,b), in multipathd()
353 (unsigned long long)bio->bi_iter.bi_sector); in multipathd()
354 *bio = *(mp_bh->master_bio); in multipathd()
355 bio->bi_iter.bi_sector += in multipathd()
357 bio->bi_bdev = conf->multipaths[mp_bh->path].rdev->bdev; in multipathd()
358 bio->bi_rw |= REQ_FAILFAST_TRANSPORT; in multipathd()
359 bio->bi_end_io = multipath_end_request; in multipathd()
360 bio->bi_private = mp_bh; in multipathd()
361 generic_make_request(bio); in multipathd()