Lines Matching refs:bio

136 static void nvmet_bio_done(struct bio *bio)  in nvmet_bio_done()  argument
138 struct nvmet_req *req = bio->bi_private; in nvmet_bio_done()
140 nvmet_req_complete(req, blk_to_nvme_status(req, bio->bi_status)); in nvmet_bio_done()
141 if (bio != &req->b.inline_bio) in nvmet_bio_done()
142 bio_put(bio); in nvmet_bio_done()
148 struct bio *bio; in nvmet_bdev_execute_rw() local
174 bio = &req->b.inline_bio; in nvmet_bdev_execute_rw()
175 bio_init(bio, req->inline_bvec, ARRAY_SIZE(req->inline_bvec)); in nvmet_bdev_execute_rw()
177 bio = bio_alloc(GFP_KERNEL, min(sg_cnt, BIO_MAX_PAGES)); in nvmet_bdev_execute_rw()
179 bio_set_dev(bio, req->ns->bdev); in nvmet_bdev_execute_rw()
180 bio->bi_iter.bi_sector = sector; in nvmet_bdev_execute_rw()
181 bio->bi_private = req; in nvmet_bdev_execute_rw()
182 bio->bi_end_io = nvmet_bio_done; in nvmet_bdev_execute_rw()
183 bio_set_op_attrs(bio, op, op_flags); in nvmet_bdev_execute_rw()
186 while (bio_add_page(bio, sg_page(sg), sg->length, sg->offset) in nvmet_bdev_execute_rw()
188 struct bio *prev = bio; in nvmet_bdev_execute_rw()
190 bio = bio_alloc(GFP_KERNEL, min(sg_cnt, BIO_MAX_PAGES)); in nvmet_bdev_execute_rw()
191 bio_set_dev(bio, req->ns->bdev); in nvmet_bdev_execute_rw()
192 bio->bi_iter.bi_sector = sector; in nvmet_bdev_execute_rw()
193 bio_set_op_attrs(bio, op, op_flags); in nvmet_bdev_execute_rw()
195 bio_chain(bio, prev); in nvmet_bdev_execute_rw()
203 submit_bio(bio); in nvmet_bdev_execute_rw()
208 struct bio *bio = &req->b.inline_bio; in nvmet_bdev_execute_flush() local
210 bio_init(bio, req->inline_bvec, ARRAY_SIZE(req->inline_bvec)); in nvmet_bdev_execute_flush()
211 bio_set_dev(bio, req->ns->bdev); in nvmet_bdev_execute_flush()
212 bio->bi_private = req; in nvmet_bdev_execute_flush()
213 bio->bi_end_io = nvmet_bio_done; in nvmet_bdev_execute_flush()
214 bio->bi_opf = REQ_OP_WRITE | REQ_PREFLUSH; in nvmet_bdev_execute_flush()
216 submit_bio(bio); in nvmet_bdev_execute_flush()
227 struct nvme_dsm_range *range, struct bio **bio) in nvmet_bdev_discard_range() argument
235 GFP_KERNEL, 0, bio); in nvmet_bdev_discard_range()
246 struct bio *bio = NULL; in nvmet_bdev_execute_discard() local
256 status = nvmet_bdev_discard_range(req, &range, &bio); in nvmet_bdev_execute_discard()
261 if (bio) { in nvmet_bdev_execute_discard()
262 bio->bi_private = req; in nvmet_bdev_execute_discard()
263 bio->bi_end_io = nvmet_bio_done; in nvmet_bdev_execute_discard()
265 bio->bi_status = BLK_STS_IOERR; in nvmet_bdev_execute_discard()
266 bio_endio(bio); in nvmet_bdev_execute_discard()
268 submit_bio(bio); in nvmet_bdev_execute_discard()
293 struct bio *bio = NULL; in nvmet_bdev_execute_write_zeroes() local
304 GFP_KERNEL, &bio, 0); in nvmet_bdev_execute_write_zeroes()
305 if (bio) { in nvmet_bdev_execute_write_zeroes()
306 bio->bi_private = req; in nvmet_bdev_execute_write_zeroes()
307 bio->bi_end_io = nvmet_bio_done; in nvmet_bdev_execute_write_zeroes()
308 submit_bio(bio); in nvmet_bdev_execute_write_zeroes()