When debugfs_create_file() failed in f2fs_create_root_stats(),
debugfs_root should be remove.
Signed-off-by: Younger Liu <liuyiyang@hisense.com>
Cc: Younger Liu <younger.liucn@gmail.com>
Cc: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Reviewed-by: Chao Yu <chao2.yu@samsung.com>
Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
 
 void __init f2fs_create_root_stats(void)
 {
+       struct dentry *file;
+
        debugfs_root = debugfs_create_dir("f2fs", NULL);
-       if (debugfs_root)
-               debugfs_create_file("status", S_IRUGO, debugfs_root,
-                                        NULL, &stat_fops);
+       if (!debugfs_root)
+               goto bail;
+
+       file = debugfs_create_file("status", S_IRUGO, debugfs_root,
+                       NULL, &stat_fops);
+       if (!file)
+               goto free_debugfs_dir;
+
+       return;
+
+free_debugfs_dir:
+       debugfs_remove(debugfs_root);
+
+bail:
+       debugfs_root = NULL;
+       return;
 }
 
 void f2fs_destroy_root_stats(void)
 {
+       if (!debugfs_root)
+               return;
+
        debugfs_remove_recursive(debugfs_root);
        debugfs_root = NULL;
 }