diff options
| author | Zhen Lei <thunder.leizhen@huawei.com> | 2022-11-22 19:50:02 +0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2022-12-02 17:40:06 +0100 |
| commit | c86c1a7037cd271dbbb315c3add2dcb589a5a2c8 (patch) | |
| tree | e10b8b8746369201cb13f68505e28223a2f074bf | |
| parent | 1581830c0eca75c5e77bc8671ab8ba9cc2e00de7 (diff) | |
| download | linux-c86c1a7037cd271dbbb315c3add2dcb589a5a2c8.tar.gz linux-c86c1a7037cd271dbbb315c3add2dcb589a5a2c8.tar.bz2 linux-c86c1a7037cd271dbbb315c3add2dcb589a5a2c8.zip | |
btrfs: sysfs: normalize the error handling branch in btrfs_init_sysfs()
commit ffdbb44f2f23f963b8f5672e35c3a26088177a62 upstream.
Although kset_unregister() can eventually remove all attribute files,
explicitly rolling back with the matching function makes the code logic
look clearer.
CC: stable@vger.kernel.org # 5.4+
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| -rw-r--r-- | fs/btrfs/sysfs.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/btrfs/sysfs.c b/fs/btrfs/sysfs.c index 3bb6b688ece5..ecf190286377 100644 --- a/fs/btrfs/sysfs.c +++ b/fs/btrfs/sysfs.c @@ -1767,8 +1767,11 @@ int __init btrfs_init_sysfs(void) #ifdef CONFIG_BTRFS_DEBUG ret = sysfs_create_group(&btrfs_kset->kobj, &btrfs_debug_feature_attr_group); - if (ret) - goto out2; + if (ret) { + sysfs_unmerge_group(&btrfs_kset->kobj, + &btrfs_static_feature_attr_group); + goto out_remove_group; + } #endif return 0; |
