]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
btrfs: use super write guard in relocating_repair_kthread()
authorChristian Brauner <brauner@kernel.org>
Tue, 4 Nov 2025 12:12:35 +0000 (13:12 +0100)
committerChristian Brauner <brauner@kernel.org>
Wed, 5 Nov 2025 21:52:15 +0000 (22:52 +0100)
Link: https://patch.msgid.link/20251104-work-guards-v1-6-5108ac78a171@kernel.org
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/btrfs/volumes.c

index e3788798528dc54b064acb60044431945261e97a..88065e52184c33abdf06e65040e2b10416880619 100644 (file)
@@ -8177,12 +8177,12 @@ static int relocating_repair_kthread(void *data)
        target = cache->start;
        btrfs_put_block_group(cache);
 
-       sb_start_write(fs_info->sb);
+       guard(super_write)(fs_info->sb);
+
        if (!btrfs_exclop_start(fs_info, BTRFS_EXCLOP_BALANCE)) {
                btrfs_info(fs_info,
                           "zoned: skip relocating block group %llu to repair: EBUSY",
                           target);
-               sb_end_write(fs_info->sb);
                return -EBUSY;
        }
 
@@ -8210,7 +8210,6 @@ out:
                btrfs_put_block_group(cache);
        mutex_unlock(&fs_info->reclaim_bgs_lock);
        btrfs_exclop_finish(fs_info);
-       sb_end_write(fs_info->sb);
 
        return ret;
 }