diff options
author | Anand Jain <anand.jain@oracle.com> | 2019-01-30 14:45:01 +0800 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2019-02-25 14:13:37 +0100 |
commit | eb4318e59a0d5caa636662225afeea9796b27092 (patch) | |
tree | fbd61530a6b09874512df82b840be71f07b2439e /fs/btrfs/scrub.c | |
parent | 1cec3f27168d7835ff3d23ab371cd548440131bb (diff) | |
download | lwn-eb4318e59a0d5caa636662225afeea9796b27092.tar.gz lwn-eb4318e59a0d5caa636662225afeea9796b27092.zip |
btrfs: scrub: add scrub_lock lockdep check in scrub_workers_get
scrub_workers_refcnt is protected by scrub_lock, add lockdep_assert_held()
in scrub_workers_get().
Signed-off-by: Anand Jain <anand.jain@oracle.com>
Suggested-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/scrub.c')
-rw-r--r-- | fs/btrfs/scrub.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c index f2f0be7864b8..17925af759ae 100644 --- a/fs/btrfs/scrub.c +++ b/fs/btrfs/scrub.c @@ -3741,6 +3741,8 @@ static noinline_for_stack int scrub_workers_get(struct btrfs_fs_info *fs_info, unsigned int flags = WQ_FREEZABLE | WQ_UNBOUND; int max_active = fs_info->thread_pool_size; + lockdep_assert_held(&fs_info->scrub_lock); + if (fs_info->scrub_workers_refcnt == 0) { fs_info->scrub_workers = btrfs_alloc_workqueue(fs_info, "scrub", flags, is_dev_replace ? 1 : max_active, 4); |