Loading fs/f2fs/sysfs.c +23 −16 Original line number Diff line number Diff line Loading @@ -1386,12 +1386,19 @@ int __init f2fs_init_sysfs(void) ret = kobject_init_and_add(&f2fs_feat, &f2fs_feat_ktype, NULL, "features"); if (ret) { kobject_put(&f2fs_feat); kset_unregister(&f2fs_kset); } else { if (ret) goto put_kobject; f2fs_proc_root = proc_mkdir("fs/f2fs", NULL); if (!f2fs_proc_root) { ret = -ENOMEM; goto put_kobject; } return 0; put_kobject: kobject_put(&f2fs_feat); kset_unregister(&f2fs_kset); return ret; } Loading Loading @@ -1430,10 +1437,12 @@ int f2fs_register_sysfs(struct f2fs_sb_info *sbi) if (err) goto put_feature_list_kobj; if (f2fs_proc_root) sbi->s_proc = proc_mkdir(sb->s_id, f2fs_proc_root); if (!sbi->s_proc) { err = -ENOMEM; goto put_feature_list_kobj; } if (sbi->s_proc) { proc_create_single_data("segment_info", 0444, sbi->s_proc, segment_info_seq_show, sb); proc_create_single_data("segment_bits", 0444, sbi->s_proc, Loading @@ -1446,7 +1455,6 @@ int f2fs_register_sysfs(struct f2fs_sb_info *sbi) victim_bits_seq_show, sb); proc_create_single_data("discard_plist_info", 0444, sbi->s_proc, discard_plist_seq_show, sb); } return 0; put_feature_list_kobj: kobject_put(&sbi->s_feature_list_kobj); Loading @@ -1462,7 +1470,6 @@ int f2fs_register_sysfs(struct f2fs_sb_info *sbi) void f2fs_unregister_sysfs(struct f2fs_sb_info *sbi) { if (sbi->s_proc) remove_proc_subtree(sbi->sb->s_id, f2fs_proc_root); kobject_put(&sbi->s_stat_kobj); Loading Loading
fs/f2fs/sysfs.c +23 −16 Original line number Diff line number Diff line Loading @@ -1386,12 +1386,19 @@ int __init f2fs_init_sysfs(void) ret = kobject_init_and_add(&f2fs_feat, &f2fs_feat_ktype, NULL, "features"); if (ret) { kobject_put(&f2fs_feat); kset_unregister(&f2fs_kset); } else { if (ret) goto put_kobject; f2fs_proc_root = proc_mkdir("fs/f2fs", NULL); if (!f2fs_proc_root) { ret = -ENOMEM; goto put_kobject; } return 0; put_kobject: kobject_put(&f2fs_feat); kset_unregister(&f2fs_kset); return ret; } Loading Loading @@ -1430,10 +1437,12 @@ int f2fs_register_sysfs(struct f2fs_sb_info *sbi) if (err) goto put_feature_list_kobj; if (f2fs_proc_root) sbi->s_proc = proc_mkdir(sb->s_id, f2fs_proc_root); if (!sbi->s_proc) { err = -ENOMEM; goto put_feature_list_kobj; } if (sbi->s_proc) { proc_create_single_data("segment_info", 0444, sbi->s_proc, segment_info_seq_show, sb); proc_create_single_data("segment_bits", 0444, sbi->s_proc, Loading @@ -1446,7 +1455,6 @@ int f2fs_register_sysfs(struct f2fs_sb_info *sbi) victim_bits_seq_show, sb); proc_create_single_data("discard_plist_info", 0444, sbi->s_proc, discard_plist_seq_show, sb); } return 0; put_feature_list_kobj: kobject_put(&sbi->s_feature_list_kobj); Loading @@ -1462,7 +1470,6 @@ int f2fs_register_sysfs(struct f2fs_sb_info *sbi) void f2fs_unregister_sysfs(struct f2fs_sb_info *sbi) { if (sbi->s_proc) remove_proc_subtree(sbi->sb->s_id, f2fs_proc_root); kobject_put(&sbi->s_stat_kobj); Loading