From: David Sterba Date: Tue, 1 Apr 2025 23:18:07 +0000 (+0200) Subject: btrfs: use BTRFS_PATH_AUTO_FREE in may_destroy_subvol() X-Git-Tag: block-6.16-20250606~42^2~166 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=516748f584fd4308e93a503cbc876969b012de63;p=linux-2.6-block.git btrfs: use BTRFS_PATH_AUTO_FREE in may_destroy_subvol() This is the trivial pattern for path auto free, initialize at the beginning and free at the end with simple goto -> return conversions. Reviewed-by: Daniel Vacek Signed-off-by: David Sterba --- diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index bc7e4c1ae015..03524a1e7fde 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -4475,7 +4475,7 @@ out: static noinline int may_destroy_subvol(struct btrfs_root *root) { struct btrfs_fs_info *fs_info = root->fs_info; - struct btrfs_path *path; + BTRFS_PATH_AUTO_FREE(path); struct btrfs_dir_item *di; struct btrfs_key key; struct fscrypt_str name = FSTR_INIT("default", 7); @@ -4497,7 +4497,7 @@ static noinline int may_destroy_subvol(struct btrfs_root *root) btrfs_err(fs_info, "deleting default subvolume %llu is not allowed", key.objectid); - goto out; + return ret; } btrfs_release_path(path); } @@ -4508,14 +4508,13 @@ static noinline int may_destroy_subvol(struct btrfs_root *root) ret = btrfs_search_slot(NULL, fs_info->tree_root, &key, path, 0, 0); if (ret < 0) - goto out; + return ret; if (ret == 0) { /* * Key with offset -1 found, there would have to exist a root * with such id, but this is out of valid range. */ - ret = -EUCLEAN; - goto out; + return -EUCLEAN; } ret = 0; @@ -4525,8 +4524,7 @@ static noinline int may_destroy_subvol(struct btrfs_root *root) if (key.objectid == btrfs_root_id(root) && key.type == BTRFS_ROOT_REF_KEY) ret = -ENOTEMPTY; } -out: - btrfs_free_path(path); + return ret; }