From: Younger Liu <liuyiy...@hisense.com>

When debugfs_create_file() failed in f2fs_create_root_stats(),
debugfs_root should be removed.

Signed-off-by: Younger Liu <liuyiy...@hisense.com>
Cc: Younger Liu <younger.li...@gmail.com>
Cc: Jaegeuk Kim <jaegeuk....@samsung.com>
---
 fs/f2fs/debug.c |   20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/fs/f2fs/debug.c b/fs/f2fs/debug.c
index a84b0a8..d27b689 100644
--- a/fs/f2fs/debug.c
+++ b/fs/f2fs/debug.c
@@ -340,10 +340,24 @@ void f2fs_destroy_stats(struct f2fs_sb_info *sbi)
 
 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:
+    return;
 }
 
 void f2fs_destroy_root_stats(void)
-- 
1.7.9.5



------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to