Lines Matching refs:bio
259 static void linear_make_request(struct mddev *mddev, struct bio *bio) in linear_make_request() argument
263 struct bio *split; in linear_make_request()
266 if (unlikely(bio->bi_rw & REQ_FLUSH)) { in linear_make_request()
267 md_flush_request(mddev, bio); in linear_make_request()
272 tmp_dev = which_dev(mddev, bio->bi_iter.bi_sector); in linear_make_request()
276 bio->bi_bdev = tmp_dev->rdev->bdev; in linear_make_request()
278 if (unlikely(bio->bi_iter.bi_sector >= end_sector || in linear_make_request()
279 bio->bi_iter.bi_sector < start_sector)) in linear_make_request()
282 if (unlikely(bio_end_sector(bio) > end_sector)) { in linear_make_request()
286 split = bio_split(bio, end_sector - in linear_make_request()
287 bio->bi_iter.bi_sector, in linear_make_request()
289 bio_chain(split, bio); in linear_make_request()
291 split = bio; in linear_make_request()
303 } while (split != bio); in linear_make_request()
311 (unsigned long long)bio->bi_iter.bi_sector, in linear_make_request()
315 bio_io_error(bio); in linear_make_request()