block/fs/drivers: remove rw argument from submit_bio
This has callers of submit_bio/submit_bio_wait set the bio->bi_rw instead of passing it in. This makes that use the same as generic_make_request and how we set the other bio fields. Signed-off-by: Mike Christie <mchristi@redhat.com> Fixed up fs/ext4/crypto.c Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:

committed by
Jens Axboe

parent
af8c34ce6a
commit
4e49ea4a3d
@@ -312,7 +312,7 @@ static void iblock_bio_done(struct bio *bio)
|
||||
}
|
||||
|
||||
static struct bio *
|
||||
iblock_get_bio(struct se_cmd *cmd, sector_t lba, u32 sg_num)
|
||||
iblock_get_bio(struct se_cmd *cmd, sector_t lba, u32 sg_num, int rw)
|
||||
{
|
||||
struct iblock_dev *ib_dev = IBLOCK_DEV(cmd->se_dev);
|
||||
struct bio *bio;
|
||||
@@ -334,18 +334,19 @@ iblock_get_bio(struct se_cmd *cmd, sector_t lba, u32 sg_num)
|
||||
bio->bi_private = cmd;
|
||||
bio->bi_end_io = &iblock_bio_done;
|
||||
bio->bi_iter.bi_sector = lba;
|
||||
bio->bi_rw = rw;
|
||||
|
||||
return bio;
|
||||
}
|
||||
|
||||
static void iblock_submit_bios(struct bio_list *list, int rw)
|
||||
static void iblock_submit_bios(struct bio_list *list)
|
||||
{
|
||||
struct blk_plug plug;
|
||||
struct bio *bio;
|
||||
|
||||
blk_start_plug(&plug);
|
||||
while ((bio = bio_list_pop(list)))
|
||||
submit_bio(rw, bio);
|
||||
submit_bio(bio);
|
||||
blk_finish_plug(&plug);
|
||||
}
|
||||
|
||||
@@ -387,9 +388,10 @@ iblock_execute_sync_cache(struct se_cmd *cmd)
|
||||
bio = bio_alloc(GFP_KERNEL, 0);
|
||||
bio->bi_end_io = iblock_end_io_flush;
|
||||
bio->bi_bdev = ib_dev->ibd_bd;
|
||||
bio->bi_rw = WRITE_FLUSH;
|
||||
if (!immed)
|
||||
bio->bi_private = cmd;
|
||||
submit_bio(WRITE_FLUSH, bio);
|
||||
submit_bio(bio);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -478,7 +480,7 @@ iblock_execute_write_same(struct se_cmd *cmd)
|
||||
goto fail;
|
||||
cmd->priv = ibr;
|
||||
|
||||
bio = iblock_get_bio(cmd, block_lba, 1);
|
||||
bio = iblock_get_bio(cmd, block_lba, 1, WRITE);
|
||||
if (!bio)
|
||||
goto fail_free_ibr;
|
||||
|
||||
@@ -491,7 +493,7 @@ iblock_execute_write_same(struct se_cmd *cmd)
|
||||
while (bio_add_page(bio, sg_page(sg), sg->length, sg->offset)
|
||||
!= sg->length) {
|
||||
|
||||
bio = iblock_get_bio(cmd, block_lba, 1);
|
||||
bio = iblock_get_bio(cmd, block_lba, 1, WRITE);
|
||||
if (!bio)
|
||||
goto fail_put_bios;
|
||||
|
||||
@@ -504,7 +506,7 @@ iblock_execute_write_same(struct se_cmd *cmd)
|
||||
sectors -= 1;
|
||||
}
|
||||
|
||||
iblock_submit_bios(&list, WRITE);
|
||||
iblock_submit_bios(&list);
|
||||
return 0;
|
||||
|
||||
fail_put_bios:
|
||||
@@ -712,7 +714,7 @@ iblock_execute_rw(struct se_cmd *cmd, struct scatterlist *sgl, u32 sgl_nents,
|
||||
return 0;
|
||||
}
|
||||
|
||||
bio = iblock_get_bio(cmd, block_lba, sgl_nents);
|
||||
bio = iblock_get_bio(cmd, block_lba, sgl_nents, rw);
|
||||
if (!bio)
|
||||
goto fail_free_ibr;
|
||||
|
||||
@@ -732,11 +734,11 @@ iblock_execute_rw(struct se_cmd *cmd, struct scatterlist *sgl, u32 sgl_nents,
|
||||
while (bio_add_page(bio, sg_page(sg), sg->length, sg->offset)
|
||||
!= sg->length) {
|
||||
if (bio_cnt >= IBLOCK_MAX_BIO_PER_TASK) {
|
||||
iblock_submit_bios(&list, rw);
|
||||
iblock_submit_bios(&list);
|
||||
bio_cnt = 0;
|
||||
}
|
||||
|
||||
bio = iblock_get_bio(cmd, block_lba, sg_num);
|
||||
bio = iblock_get_bio(cmd, block_lba, sg_num, rw);
|
||||
if (!bio)
|
||||
goto fail_put_bios;
|
||||
|
||||
@@ -756,7 +758,7 @@ iblock_execute_rw(struct se_cmd *cmd, struct scatterlist *sgl, u32 sgl_nents,
|
||||
goto fail_put_bios;
|
||||
}
|
||||
|
||||
iblock_submit_bios(&list, rw);
|
||||
iblock_submit_bios(&list);
|
||||
iblock_complete_cmd(cmd);
|
||||
return 0;
|
||||
|
||||
|
Reference in New Issue
Block a user