diff options
author | Zhaolei <zhaolei@cn.fujitsu.com> | 2015-08-05 10:43:29 +0200 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2015-08-09 16:07:12 +0200 |
commit | b708ce969af3ceadca18aac5bffe48fe977473b1 (patch) | |
tree | 24cc15f9fb322ab0473e2d827a104a1a9e5fb07f /fs/btrfs/scrub.c | |
parent | btrfs: Separate scrub_blocked_if_needed() to scrub_pause_on/off() (diff) | |
download | linux-b708ce969af3ceadca18aac5bffe48fe977473b1.tar.xz linux-b708ce969af3ceadca18aac5bffe48fe977473b1.zip |
btrfs: use scrub_pause_on/off() to reduce code in scrub_enumerate_chunks()
Use new intruduced scrub_pause_on/off() can make this code block
clean and more readable.
Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to '')
-rw-r--r-- | fs/btrfs/scrub.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c index 08872026a254..281de3f2041d 100644 --- a/fs/btrfs/scrub.c +++ b/fs/btrfs/scrub.c @@ -3503,8 +3503,8 @@ int scrub_enumerate_chunks(struct scrub_ctx *sctx, wait_event(sctx->list_wait, atomic_read(&sctx->bios_in_flight) == 0); - atomic_inc(&fs_info->scrubs_paused); - wake_up(&fs_info->scrub_pause_wait); + + scrub_pause_on(fs_info); /* * must be called before we decrease @scrub_paused. @@ -3515,11 +3515,7 @@ int scrub_enumerate_chunks(struct scrub_ctx *sctx, atomic_read(&sctx->workers_pending) == 0); atomic_set(&sctx->wr_ctx.flush_all_writes, 0); - mutex_lock(&fs_info->scrub_lock); - __scrub_blocked_if_needed(fs_info); - atomic_dec(&fs_info->scrubs_paused); - mutex_unlock(&fs_info->scrub_lock); - wake_up(&fs_info->scrub_pause_wait); + scrub_pause_off(fs_info); btrfs_put_block_group(cache); if (ret) |