f2fs: remove bulk remove_proc_entry() and unnecessary kobject_del()
authorYangtao Li <frank.li@vivo.com>
Thu, 6 Apr 2023 19:16:29 +0000 (03:16 +0800)
committerJaegeuk Kim <jaegeuk@kernel.org>
Mon, 17 Apr 2023 21:49:30 +0000 (14:49 -0700)
Convert to use remove_proc_subtree() and kill kobject_del() directly.
kobject_put() actually covers kobject removal automatically, which is
single stage removal.

Signed-off-by: Yangtao Li <frank.li@vivo.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/sysfs.c

index aa77dd7c4555efc4e577ed388afa91b98ebc9651..8ea05340bad903eb48472feda7a3bf36cd98995c 100644 (file)
@@ -1462,25 +1462,14 @@ put_sb_kobj:
 
 void f2fs_unregister_sysfs(struct f2fs_sb_info *sbi)
 {
-       if (sbi->s_proc) {
-#ifdef CONFIG_F2FS_IOSTAT
-               remove_proc_entry("iostat_info", sbi->s_proc);
-#endif
-               remove_proc_entry("segment_info", sbi->s_proc);
-               remove_proc_entry("segment_bits", sbi->s_proc);
-               remove_proc_entry("victim_bits", sbi->s_proc);
-               remove_proc_entry("discard_plist_info", sbi->s_proc);
-               remove_proc_entry(sbi->sb->s_id, f2fs_proc_root);
-       }
+       if (sbi->s_proc)
+               remove_proc_subtree(sbi->sb->s_id, f2fs_proc_root);
 
-       kobject_del(&sbi->s_stat_kobj);
        kobject_put(&sbi->s_stat_kobj);
        wait_for_completion(&sbi->s_stat_kobj_unregister);
-       kobject_del(&sbi->s_feature_list_kobj);
        kobject_put(&sbi->s_feature_list_kobj);
        wait_for_completion(&sbi->s_feature_list_kobj_unregister);
 
-       kobject_del(&sbi->s_kobj);
        kobject_put(&sbi->s_kobj);
        wait_for_completion(&sbi->s_kobj_unregister);
 }