Commit cf6a4a75 authored by David Sterba's avatar David Sterba

btrfs: raid56: use new helper for async_rmw_stripe

Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent ac638859
...@@ -162,7 +162,6 @@ static int __raid56_parity_recover(struct btrfs_raid_bio *rbio); ...@@ -162,7 +162,6 @@ static int __raid56_parity_recover(struct btrfs_raid_bio *rbio);
static noinline void finish_rmw(struct btrfs_raid_bio *rbio); static noinline void finish_rmw(struct btrfs_raid_bio *rbio);
static void rmw_work(struct btrfs_work *work); static void rmw_work(struct btrfs_work *work);
static void read_rebuild_work(struct btrfs_work *work); static void read_rebuild_work(struct btrfs_work *work);
static void async_rmw_stripe(struct btrfs_raid_bio *rbio);
static void async_read_rebuild(struct btrfs_raid_bio *rbio); static void async_read_rebuild(struct btrfs_raid_bio *rbio);
static int fail_bio_stripe(struct btrfs_raid_bio *rbio, struct bio *bio); static int fail_bio_stripe(struct btrfs_raid_bio *rbio, struct bio *bio);
static int fail_rbio_index(struct btrfs_raid_bio *rbio, int failed); static int fail_rbio_index(struct btrfs_raid_bio *rbio, int failed);
...@@ -811,7 +810,7 @@ static noinline void unlock_stripe(struct btrfs_raid_bio *rbio) ...@@ -811,7 +810,7 @@ static noinline void unlock_stripe(struct btrfs_raid_bio *rbio)
async_read_rebuild(next); async_read_rebuild(next);
} else if (next->operation == BTRFS_RBIO_WRITE) { } else if (next->operation == BTRFS_RBIO_WRITE) {
steal_rbio(rbio, next); steal_rbio(rbio, next);
async_rmw_stripe(next); start_async_work(next, rmw_work);
} else if (next->operation == BTRFS_RBIO_PARITY_SCRUB) { } else if (next->operation == BTRFS_RBIO_PARITY_SCRUB) {
steal_rbio(rbio, next); steal_rbio(rbio, next);
async_scrub_parity(next); async_scrub_parity(next);
...@@ -1501,12 +1500,6 @@ static void raid_rmw_end_io(struct bio *bio) ...@@ -1501,12 +1500,6 @@ static void raid_rmw_end_io(struct bio *bio)
rbio_orig_end_io(rbio, BLK_STS_IOERR); rbio_orig_end_io(rbio, BLK_STS_IOERR);
} }
static void async_rmw_stripe(struct btrfs_raid_bio *rbio)
{
btrfs_init_work(&rbio->work, btrfs_rmw_helper, rmw_work, NULL, NULL);
btrfs_queue_work(rbio->fs_info->rmw_workers, &rbio->work);
}
static void async_read_rebuild(struct btrfs_raid_bio *rbio) static void async_read_rebuild(struct btrfs_raid_bio *rbio)
{ {
btrfs_init_work(&rbio->work, btrfs_rmw_helper, btrfs_init_work(&rbio->work, btrfs_rmw_helper,
...@@ -1645,7 +1638,7 @@ static int partial_stripe_write(struct btrfs_raid_bio *rbio) ...@@ -1645,7 +1638,7 @@ static int partial_stripe_write(struct btrfs_raid_bio *rbio)
ret = lock_stripe_add(rbio); ret = lock_stripe_add(rbio);
if (ret == 0) if (ret == 0)
async_rmw_stripe(rbio); start_async_work(rbio, rmw_work);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment