]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
btrfs: qgroup: Remove the unnecesaary spin lock for qgroup_rescan_running
authorQu Wenruo <wqu@suse.com>
Fri, 7 Feb 2020 05:38:21 +0000 (13:38 +0800)
committerDavid Sterba <dsterba@suse.com>
Mon, 23 Mar 2020 16:01:47 +0000 (17:01 +0100)
After the previous patch, qgroup_rescan_running is protected by
btrfs_fs_info::qgroup_rescan_lock, thus no need for the extra spinlock.

Suggested-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/qgroup.c

index 08c8ab199b6e79c6f99fa24f15c489322c5bef7d..75bc3b6864984aeb7bfea34e0bf330d14950013a 100644 (file)
@@ -3238,7 +3238,6 @@ qgroup_rescan_init(struct btrfs_fs_info *fs_info, u64 progress_objectid,
        }
 
        mutex_lock(&fs_info->qgroup_rescan_lock);
-       spin_lock(&fs_info->qgroup_lock);
 
        if (init_flags) {
                if (fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_RESCAN) {
@@ -3253,7 +3252,6 @@ qgroup_rescan_init(struct btrfs_fs_info *fs_info, u64 progress_objectid,
                }
 
                if (ret) {
-                       spin_unlock(&fs_info->qgroup_lock);
                        mutex_unlock(&fs_info->qgroup_rescan_lock);
                        return ret;
                }
@@ -3264,8 +3262,6 @@ qgroup_rescan_init(struct btrfs_fs_info *fs_info, u64 progress_objectid,
                sizeof(fs_info->qgroup_rescan_progress));
        fs_info->qgroup_rescan_progress.objectid = progress_objectid;
        init_completion(&fs_info->qgroup_rescan_completion);
-
-       spin_unlock(&fs_info->qgroup_lock);
        mutex_unlock(&fs_info->qgroup_rescan_lock);
 
        btrfs_init_work(&fs_info->qgroup_rescan_work,
@@ -3342,9 +3338,7 @@ int btrfs_qgroup_wait_for_completion(struct btrfs_fs_info *fs_info,
        int ret = 0;
 
        mutex_lock(&fs_info->qgroup_rescan_lock);
-       spin_lock(&fs_info->qgroup_lock);
        running = fs_info->qgroup_rescan_running;
-       spin_unlock(&fs_info->qgroup_lock);
        mutex_unlock(&fs_info->qgroup_rescan_lock);
 
        if (!running)