Message ID | 20221122115002.1831-1-thunder.leizhen@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] btrfs: normalize the error handling branch in btrfs_init_sysfs() | expand |
On 2022/11/22 19:50, Zhen Lei wrote: > Although kset_unregister() can eventually remove all attribute files, > explicitly rolling back with the matching function makes the code logic > look clearer. > > Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> Reviewed-by: Qu Wenruo <wqu@suse.com> Thanks, Qu > --- > fs/btrfs/sysfs.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > v1 --> v2: > 1. Add sysfs_unmerge_group() to unmerge group first. > 2. Update subject and commit message, no resource leaks. > > diff --git a/fs/btrfs/sysfs.c b/fs/btrfs/sysfs.c > index 699b54b3acaae0b..74fef1f49c358cd 100644 > --- a/fs/btrfs/sysfs.c > +++ b/fs/btrfs/sysfs.c > @@ -2321,8 +2321,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;
On Tue, Nov 22, 2022 at 07:50:02PM +0800, Zhen Lei wrote: > Although kset_unregister() can eventually remove all attribute files, > explicitly rolling back with the matching function makes the code logic > look clearer. > > Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> Added to misc-next, thanks.
diff --git a/fs/btrfs/sysfs.c b/fs/btrfs/sysfs.c index 699b54b3acaae0b..74fef1f49c358cd 100644 --- a/fs/btrfs/sysfs.c +++ b/fs/btrfs/sysfs.c @@ -2321,8 +2321,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;
Although kset_unregister() can eventually remove all attribute files, explicitly rolling back with the matching function makes the code logic look clearer. Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com> --- fs/btrfs/sysfs.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) v1 --> v2: 1. Add sysfs_unmerge_group() to unmerge group first. 2. Update subject and commit message, no resource leaks.