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
@@ -1504,8 +1504,9 @@ static void scrub_recheck_block(struct btrfs_fs_info *fs_info,
|
||||
sblock->no_io_error_seen = 0;
|
||||
} else {
|
||||
bio->bi_iter.bi_sector = page->physical >> 9;
|
||||
bio->bi_rw = READ;
|
||||
|
||||
if (btrfsic_submit_bio_wait(READ, bio))
|
||||
if (btrfsic_submit_bio_wait(bio))
|
||||
sblock->no_io_error_seen = 0;
|
||||
}
|
||||
|
||||
@@ -1583,6 +1584,7 @@ static int scrub_repair_page_from_good_copy(struct scrub_block *sblock_bad,
|
||||
return -EIO;
|
||||
bio->bi_bdev = page_bad->dev->bdev;
|
||||
bio->bi_iter.bi_sector = page_bad->physical >> 9;
|
||||
bio->bi_rw = WRITE;
|
||||
|
||||
ret = bio_add_page(bio, page_good->page, PAGE_SIZE, 0);
|
||||
if (PAGE_SIZE != ret) {
|
||||
@@ -1590,7 +1592,7 @@ static int scrub_repair_page_from_good_copy(struct scrub_block *sblock_bad,
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
if (btrfsic_submit_bio_wait(WRITE, bio)) {
|
||||
if (btrfsic_submit_bio_wait(bio)) {
|
||||
btrfs_dev_stat_inc_and_print(page_bad->dev,
|
||||
BTRFS_DEV_STAT_WRITE_ERRS);
|
||||
btrfs_dev_replace_stats_inc(
|
||||
@@ -1684,6 +1686,7 @@ again:
|
||||
bio->bi_end_io = scrub_wr_bio_end_io;
|
||||
bio->bi_bdev = sbio->dev->bdev;
|
||||
bio->bi_iter.bi_sector = sbio->physical >> 9;
|
||||
bio->bi_rw = WRITE;
|
||||
sbio->err = 0;
|
||||
} else if (sbio->physical + sbio->page_count * PAGE_SIZE !=
|
||||
spage->physical_for_dev_replace ||
|
||||
@@ -1731,7 +1734,7 @@ static void scrub_wr_submit(struct scrub_ctx *sctx)
|
||||
* orders the requests before sending them to the driver which
|
||||
* doubled the write performance on spinning disks when measured
|
||||
* with Linux 3.5 */
|
||||
btrfsic_submit_bio(WRITE, sbio->bio);
|
||||
btrfsic_submit_bio(sbio->bio);
|
||||
}
|
||||
|
||||
static void scrub_wr_bio_end_io(struct bio *bio)
|
||||
@@ -2041,7 +2044,7 @@ static void scrub_submit(struct scrub_ctx *sctx)
|
||||
sbio = sctx->bios[sctx->curr];
|
||||
sctx->curr = -1;
|
||||
scrub_pending_bio_inc(sctx);
|
||||
btrfsic_submit_bio(READ, sbio->bio);
|
||||
btrfsic_submit_bio(sbio->bio);
|
||||
}
|
||||
|
||||
static int scrub_add_page_to_rd_bio(struct scrub_ctx *sctx,
|
||||
@@ -2088,6 +2091,7 @@ again:
|
||||
bio->bi_end_io = scrub_bio_end_io;
|
||||
bio->bi_bdev = sbio->dev->bdev;
|
||||
bio->bi_iter.bi_sector = sbio->physical >> 9;
|
||||
bio->bi_rw = READ;
|
||||
sbio->err = 0;
|
||||
} else if (sbio->physical + sbio->page_count * PAGE_SIZE !=
|
||||
spage->physical ||
|
||||
@@ -4436,6 +4440,7 @@ static int write_page_nocow(struct scrub_ctx *sctx,
|
||||
bio->bi_iter.bi_size = 0;
|
||||
bio->bi_iter.bi_sector = physical_for_dev_replace >> 9;
|
||||
bio->bi_bdev = dev->bdev;
|
||||
bio->bi_rw = WRITE_SYNC;
|
||||
ret = bio_add_page(bio, page, PAGE_SIZE, 0);
|
||||
if (ret != PAGE_SIZE) {
|
||||
leave_with_eio:
|
||||
@@ -4444,7 +4449,7 @@ leave_with_eio:
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
if (btrfsic_submit_bio_wait(WRITE_SYNC, bio))
|
||||
if (btrfsic_submit_bio_wait(bio))
|
||||
goto leave_with_eio;
|
||||
|
||||
bio_put(bio);
|
||||
|
Reference in New Issue
Block a user