diff options
author | David Sterba <dsterba@suse.com> | 2019-02-12 18:51:18 +0300 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2019-02-25 16:13:38 +0300 |
commit | c8352942745e260d68dfdfdfbecd276c2aac3277 (patch) | |
tree | d733d79c6447923c9ddb1ec48f372aa164b19fdd /fs/btrfs/ctree.h | |
parent | ff09c4ca5992b839b4e8b411f55aecd75735fc16 (diff) | |
download | linux-c8352942745e260d68dfdfdfbecd276c2aac3277.tar.xz |
btrfs: scrub: add assertions for worker pointers
The scrub worker pointers are not NULL iff the scrub is running, so
reset them back once the last reference is dropped. Add assertions to
the initial phase of scrub to verify that.
Reviewed-by: Anand Jain <anand.jain@oracle.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/ctree.h')
-rw-r--r-- | fs/btrfs/ctree.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 7efa1edb30cd..f92f97304e69 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -1075,6 +1075,10 @@ struct btrfs_fs_info { atomic_t scrubs_paused; atomic_t scrub_cancel_req; wait_queue_head_t scrub_pause_wait; + /* + * The worker pointers are NULL iff the refcount is 0, ie. scrub is not + * running. + */ refcount_t scrub_workers_refcnt; struct btrfs_workqueue *scrub_workers; struct btrfs_workqueue *scrub_wr_completion_workers; |