Lines Matching refs:bio
164 struct bio *bio_alloc_mddev(gfp_t gfp_mask, int nr_iovecs, in bio_alloc_mddev()
167 struct bio *b; in bio_alloc_mddev()
179 struct bio *bio_clone_mddev(struct bio *bio, gfp_t gfp_mask, in bio_clone_mddev() argument
183 return bio_clone(bio, gfp_mask); in bio_clone_mddev()
185 return bio_clone_bioset(bio, gfp_mask, mddev->bio_set); in bio_clone_mddev()
253 static blk_qc_t md_make_request(struct request_queue *q, struct bio *bio) in md_make_request() argument
255 const int rw = bio_data_dir(bio); in md_make_request()
260 blk_queue_split(q, &bio, q->bio_split); in md_make_request()
264 bio_io_error(bio); in md_make_request()
268 if (bio_sectors(bio) != 0) in md_make_request()
269 bio->bi_error = -EROFS; in md_make_request()
270 bio_endio(bio); in md_make_request()
295 sectors = bio_sectors(bio); in md_make_request()
297 bio->bi_rw &= ~REQ_NOMERGE; in md_make_request()
298 mddev->pers->make_request(mddev, bio); in md_make_request()
366 static void md_end_flush(struct bio *bio) in md_end_flush() argument
368 struct md_rdev *rdev = bio->bi_private; in md_end_flush()
377 bio_put(bio); in md_end_flush()
397 struct bio *bi; in submit_flushes()
418 struct bio *bio = mddev->flush_bio; in md_submit_flush_data() local
420 if (bio->bi_iter.bi_size == 0) in md_submit_flush_data()
422 bio_endio(bio); in md_submit_flush_data()
424 bio->bi_rw &= ~REQ_FLUSH; in md_submit_flush_data()
425 mddev->pers->make_request(mddev, bio); in md_submit_flush_data()
432 void md_flush_request(struct mddev *mddev, struct bio *bio) in md_flush_request() argument
438 mddev->flush_bio = bio; in md_flush_request()
720 static void super_written(struct bio *bio) in super_written() argument
722 struct md_rdev *rdev = bio->bi_private; in super_written()
725 if (bio->bi_error) { in super_written()
726 printk("md: super_written gets error=%d\n", bio->bi_error); in super_written()
732 bio_put(bio); in super_written()
744 struct bio *bio = bio_alloc_mddev(GFP_NOIO, 1, mddev); in md_super_write() local
746 bio->bi_bdev = rdev->meta_bdev ? rdev->meta_bdev : rdev->bdev; in md_super_write()
747 bio->bi_iter.bi_sector = sector; in md_super_write()
748 bio_add_page(bio, page, size, 0); in md_super_write()
749 bio->bi_private = rdev; in md_super_write()
750 bio->bi_end_io = super_written; in md_super_write()
753 submit_bio(WRITE_FLUSH_FUA, bio); in md_super_write()
765 struct bio *bio = bio_alloc_mddev(GFP_NOIO, 1, rdev->mddev); in sync_page_io() local
768 bio->bi_bdev = (metadata_op && rdev->meta_bdev) ? in sync_page_io()
771 bio->bi_iter.bi_sector = sector + rdev->sb_start; in sync_page_io()
775 bio->bi_iter.bi_sector = sector + rdev->new_data_offset; in sync_page_io()
777 bio->bi_iter.bi_sector = sector + rdev->data_offset; in sync_page_io()
778 bio_add_page(bio, page, size, 0); in sync_page_io()
779 submit_bio_wait(rw, bio); in sync_page_io()
781 ret = !bio->bi_error; in sync_page_io()
782 bio_put(bio); in sync_page_io()
7664 void md_write_start(struct mddev *mddev, struct bio *bi) in md_write_start()