diff options
author | Zhaolei <zhaolei@cn.fujitsu.com> | 2015-08-05 16:43:29 +0800 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2015-08-09 07:07:12 -0700 |
commit | b708ce969af3ceadca18aac5bffe48fe977473b1 (patch) | |
tree | 24cc15f9fb322ab0473e2d827a104a1a9e5fb07f /fs/btrfs/scrub.c | |
parent | 0e22be890ef385de6816ec87a8a41c0b0f4a7a23 (diff) | |
download | lwn-b708ce969af3ceadca18aac5bffe48fe977473b1.tar.gz lwn-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 'fs/btrfs/scrub.c')
-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) |