Lines Matching refs:bio
309 static void iblock_bio_done(struct bio *bio, int err) in iblock_bio_done() argument
311 struct se_cmd *cmd = bio->bi_private; in iblock_bio_done()
317 if (!test_bit(BIO_UPTODATE, &bio->bi_flags) && !err) in iblock_bio_done()
322 " err: %d\n", bio, err); in iblock_bio_done()
330 bio_put(bio); in iblock_bio_done()
335 static struct bio *
339 struct bio *bio; in iblock_get_bio() local
348 bio = bio_alloc_bioset(GFP_NOIO, sg_num, ib_dev->ibd_bio_set); in iblock_get_bio()
349 if (!bio) { in iblock_get_bio()
354 bio->bi_bdev = ib_dev->ibd_bd; in iblock_get_bio()
355 bio->bi_private = cmd; in iblock_get_bio()
356 bio->bi_end_io = &iblock_bio_done; in iblock_get_bio()
357 bio->bi_iter.bi_sector = lba; in iblock_get_bio()
359 return bio; in iblock_get_bio()
365 struct bio *bio; in iblock_submit_bios() local
368 while ((bio = bio_list_pop(list))) in iblock_submit_bios()
369 submit_bio(rw, bio); in iblock_submit_bios()
373 static void iblock_end_io_flush(struct bio *bio, int err) in iblock_end_io_flush() argument
375 struct se_cmd *cmd = bio->bi_private; in iblock_end_io_flush()
387 bio_put(bio); in iblock_end_io_flush()
399 struct bio *bio; in iblock_execute_sync_cache() local
408 bio = bio_alloc(GFP_KERNEL, 0); in iblock_execute_sync_cache()
409 bio->bi_end_io = iblock_end_io_flush; in iblock_execute_sync_cache()
410 bio->bi_bdev = ib_dev->ibd_bd; in iblock_execute_sync_cache()
412 bio->bi_private = cmd; in iblock_execute_sync_cache()
413 submit_bio(WRITE_FLUSH, bio); in iblock_execute_sync_cache()
462 struct bio *bio; in iblock_execute_write_same() local
487 bio = iblock_get_bio(cmd, block_lba, 1); in iblock_execute_write_same()
488 if (!bio) in iblock_execute_write_same()
492 bio_list_add(&list, bio); in iblock_execute_write_same()
497 while (bio_add_page(bio, sg_page(sg), sg->length, sg->offset) in iblock_execute_write_same()
500 bio = iblock_get_bio(cmd, block_lba, 1); in iblock_execute_write_same()
501 if (!bio) in iblock_execute_write_same()
505 bio_list_add(&list, bio); in iblock_execute_write_same()
517 while ((bio = bio_list_pop(&list))) in iblock_execute_write_same()
518 bio_put(bio); in iblock_execute_write_same()
630 iblock_alloc_bip(struct se_cmd *cmd, struct bio *bio) in iblock_alloc_bip() argument
645 bip = bio_integrity_alloc(bio, GFP_NOIO, cmd->t_prot_nents); in iblock_alloc_bip()
653 bip->bip_iter.bi_sector = bio->bi_iter.bi_sector; in iblock_alloc_bip()
660 rc = bio_integrity_add_page(bio, sg_page(sg), sg->length, in iblock_alloc_bip()
680 struct bio *bio, *bio_start; in iblock_execute_rw() local
739 bio = iblock_get_bio(cmd, block_lba, sgl_nents); in iblock_execute_rw()
740 if (!bio) in iblock_execute_rw()
743 bio_start = bio; in iblock_execute_rw()
745 bio_list_add(&list, bio); in iblock_execute_rw()
756 while (bio_add_page(bio, sg_page(sg), sg->length, sg->offset) in iblock_execute_rw()
763 bio = iblock_get_bio(cmd, block_lba, sg_num); in iblock_execute_rw()
764 if (!bio) in iblock_execute_rw()
768 bio_list_add(&list, bio); in iblock_execute_rw()
788 while ((bio = bio_list_pop(&list))) in iblock_execute_rw()
789 bio_put(bio); in iblock_execute_rw()