Lines Matching refs:bio
183 static void nvmet_bio_done(struct bio *bio) in nvmet_bio_done() argument
185 struct nvmet_req *req = bio->bi_private; in nvmet_bio_done()
187 nvmet_req_complete(req, blk_to_nvme_status(req, bio->bi_status)); in nvmet_bio_done()
188 nvmet_req_bio_put(req, bio); in nvmet_bio_done()
192 static int nvmet_bdev_alloc_bip(struct nvmet_req *req, struct bio *bio, in nvmet_bdev_alloc_bip() argument
206 bip = bio_integrity_alloc(bio, GFP_NOIO, in nvmet_bdev_alloc_bip()
214 bip_set_seed(bip, bio->bi_iter.bi_sector >> in nvmet_bdev_alloc_bip()
217 resid = bio_integrity_bytes(bi, bio_sectors(bio)); in nvmet_bdev_alloc_bip()
220 rc = bio_integrity_add_page(bio, miter->page, len, in nvmet_bdev_alloc_bip()
237 static int nvmet_bdev_alloc_bip(struct nvmet_req *req, struct bio *bio, in nvmet_bdev_alloc_bip() argument
247 struct bio *bio; in nvmet_bdev_execute_rw() local
281 bio = &req->b.inline_bio; in nvmet_bdev_execute_rw()
282 bio_init(bio, req->ns->bdev, req->inline_bvec, in nvmet_bdev_execute_rw()
285 bio = bio_alloc(req->ns->bdev, bio_max_segs(sg_cnt), opf, in nvmet_bdev_execute_rw()
288 bio->bi_iter.bi_sector = sector; in nvmet_bdev_execute_rw()
289 bio->bi_private = req; in nvmet_bdev_execute_rw()
290 bio->bi_end_io = nvmet_bio_done; in nvmet_bdev_execute_rw()
298 while (bio_add_page(bio, sg_page(sg), sg->length, sg->offset) in nvmet_bdev_execute_rw()
300 struct bio *prev = bio; in nvmet_bdev_execute_rw()
303 rc = nvmet_bdev_alloc_bip(req, bio, in nvmet_bdev_execute_rw()
306 bio_io_error(bio); in nvmet_bdev_execute_rw()
311 bio = bio_alloc(req->ns->bdev, bio_max_segs(sg_cnt), in nvmet_bdev_execute_rw()
313 bio->bi_iter.bi_sector = sector; in nvmet_bdev_execute_rw()
315 bio_chain(bio, prev); in nvmet_bdev_execute_rw()
324 rc = nvmet_bdev_alloc_bip(req, bio, &prot_miter); in nvmet_bdev_execute_rw()
326 bio_io_error(bio); in nvmet_bdev_execute_rw()
331 submit_bio(bio); in nvmet_bdev_execute_rw()
337 struct bio *bio = &req->b.inline_bio; in nvmet_bdev_execute_flush() local
347 bio_init(bio, req->ns->bdev, req->inline_bvec, in nvmet_bdev_execute_flush()
349 bio->bi_private = req; in nvmet_bdev_execute_flush()
350 bio->bi_end_io = nvmet_bio_done; in nvmet_bdev_execute_flush()
352 submit_bio(bio); in nvmet_bdev_execute_flush()
366 struct nvme_dsm_range *range, struct bio **bio) in nvmet_bdev_discard_range() argument
374 GFP_KERNEL, bio); in nvmet_bdev_discard_range()
385 struct bio *bio = NULL; in nvmet_bdev_execute_discard() local
395 status = nvmet_bdev_discard_range(req, &range, &bio); in nvmet_bdev_execute_discard()
400 if (bio) { in nvmet_bdev_execute_discard()
401 bio->bi_private = req; in nvmet_bdev_execute_discard()
402 bio->bi_end_io = nvmet_bio_done; in nvmet_bdev_execute_discard()
404 bio_io_error(bio); in nvmet_bdev_execute_discard()
406 submit_bio(bio); in nvmet_bdev_execute_discard()
433 struct bio *bio = NULL; in nvmet_bdev_execute_write_zeroes() local
446 GFP_KERNEL, &bio, 0); in nvmet_bdev_execute_write_zeroes()
447 if (bio) { in nvmet_bdev_execute_write_zeroes()
448 bio->bi_private = req; in nvmet_bdev_execute_write_zeroes()
449 bio->bi_end_io = nvmet_bio_done; in nvmet_bdev_execute_write_zeroes()
450 submit_bio(bio); in nvmet_bdev_execute_write_zeroes()