diff --git a/fs/btrfs/check-integrity.c b/fs/btrfs/check-integrity.c index 89cdf6e7e97f5d307f39225adaa0a561a0d477e9..ab27b2c1045600f80c2d3168a8ddcf8883ddc1d8 100644 --- a/fs/btrfs/check-integrity.c +++ b/fs/btrfs/check-integrity.c @@ -2700,7 +2700,7 @@ static void btrfsic_check_flush_bio(struct bio *bio, struct btrfsic_dev_state *d } } -static void __btrfsic_submit_bio(struct bio *bio) +void btrfsic_check_bio(struct bio *bio) { struct btrfsic_dev_state *dev_state; @@ -2722,18 +2722,6 @@ static void __btrfsic_submit_bio(struct bio *bio) mutex_unlock(&btrfsic_mutex); } -void btrfsic_submit_bio(struct bio *bio) -{ - __btrfsic_submit_bio(bio); - submit_bio(bio); -} - -int btrfsic_submit_bio_wait(struct bio *bio) -{ - __btrfsic_submit_bio(bio); - return submit_bio_wait(bio); -} - int btrfsic_mount(struct btrfs_fs_info *fs_info, struct btrfs_fs_devices *fs_devices, int including_extent_data, u32 print_mask) diff --git a/fs/btrfs/check-integrity.h b/fs/btrfs/check-integrity.h index bcc730a06cb5847c4b052baf4deb6bd3a02970a8..e4c8aed7996f7718bfabd7f30b40a3af38af72be 100644 --- a/fs/btrfs/check-integrity.h +++ b/fs/btrfs/check-integrity.h @@ -7,11 +7,9 @@ #define BTRFS_CHECK_INTEGRITY_H #ifdef CONFIG_BTRFS_FS_CHECK_INTEGRITY -void btrfsic_submit_bio(struct bio *bio); -int btrfsic_submit_bio_wait(struct bio *bio); +void btrfsic_check_bio(struct bio *bio); #else -#define btrfsic_submit_bio submit_bio -#define btrfsic_submit_bio_wait submit_bio_wait +static inline void btrfsic_check_bio(struct bio *bio) { } #endif int btrfsic_mount(struct btrfs_fs_info *fs_info, diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c index f6eef78f9f3cea813b168c3ffd62bda1dbff4f26..c8661709a425ba1cf399243cbc2e7a2f25674221 100644 --- a/fs/btrfs/disk-io.c +++ b/fs/btrfs/disk-io.c @@ -4179,7 +4179,8 @@ static int write_dev_supers(struct btrfs_device *device, if (i == 0 && !btrfs_test_opt(device->fs_info, NOBARRIER)) bio->bi_opf |= REQ_FUA; - btrfsic_submit_bio(bio); + btrfsic_check_bio(bio); + submit_bio(bio); if (btrfs_advance_sb_log(device, i)) errors++; @@ -4292,7 +4293,8 @@ static void write_dev_flush(struct btrfs_device *device) init_completion(&device->flush_wait); bio->bi_private = &device->flush_wait; - btrfsic_submit_bio(bio); + btrfsic_check_bio(bio); + submit_bio(bio); set_bit(BTRFS_DEV_STATE_FLUSH_SENT, &device->dev_state); } diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 50626f4875997932738f7f6a82e34442ada709a4..a26290a876cdda8ee8ee5f95767faa530039f440 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -2368,7 +2368,8 @@ static int repair_io_failure(struct btrfs_fs_info *fs_info, u64 ino, u64 start, bio->bi_opf = REQ_OP_WRITE | REQ_SYNC; bio_add_page(bio, page, length, pg_offset); - if (btrfsic_submit_bio_wait(bio)) { + btrfsic_check_bio(bio); + if (submit_bio_wait(bio)) { /* try to remap that extent elsewhere? */ btrfs_bio_counter_dec(fs_info); bio_put(bio); diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c index d07059a1f74764259bd19c85ed8c47bc51bb909d..d78dbe5409780f262f1166f17eb05e2c950d958d 100644 --- a/fs/btrfs/scrub.c +++ b/fs/btrfs/scrub.c @@ -1475,7 +1475,8 @@ static void scrub_recheck_block(struct btrfs_fs_info *fs_info, bio->bi_iter.bi_sector = sector->physical >> 9; bio->bi_opf = REQ_OP_READ; - if (btrfsic_submit_bio_wait(bio)) { + btrfsic_check_bio(bio); + if (submit_bio_wait(bio)) { sector->io_error = 1; sblock->no_io_error_seen = 0; } @@ -1559,7 +1560,8 @@ static int scrub_repair_sector_from_good_copy(struct scrub_block *sblock_bad, return -EIO; } - if (btrfsic_submit_bio_wait(bio)) { + btrfsic_check_bio(bio); + if (submit_bio_wait(bio)) { btrfs_dev_stat_inc_and_print(sector_bad->dev, BTRFS_DEV_STAT_WRITE_ERRS); atomic64_inc(&fs_info->dev_replace.num_write_errors); @@ -1715,7 +1717,8 @@ 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(sbio->bio); + btrfsic_check_bio(sbio->bio); + submit_bio(sbio->bio); if (btrfs_is_zoned(sctx->fs_info)) sctx->write_pointer = sbio->physical + sbio->sector_count * @@ -2049,7 +2052,8 @@ static void scrub_submit(struct scrub_ctx *sctx) sbio = sctx->bios[sctx->curr]; sctx->curr = -1; scrub_pending_bio_inc(sctx); - btrfsic_submit_bio(sbio->bio); + btrfsic_check_bio(sbio->bio); + submit_bio(sbio->bio); } static int scrub_add_sector_to_rd_bio(struct scrub_ctx *sctx, diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index 8a3f1bd77b7118e5f5ac24ad92c178e61c5e9ecd..c000e39e3090851cbaf8a678e6f5e92d5bf51457 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c @@ -6742,7 +6742,8 @@ static void submit_stripe_bio(struct btrfs_io_context *bioc, struct bio *bio, btrfs_bio_counter_inc_noblocked(fs_info); - btrfsic_submit_bio(bio); + btrfsic_check_bio(bio); + submit_bio(bio); } static void bioc_error(struct btrfs_io_context *bioc, struct bio *bio, u64 logical)