[PATCH] mm:vmstat - Removed debug fs entries on failure of file creation and made extfrag_debug_root dentry local

From: Sasikanth V
Date: Mon Apr 23 2012 - 14:50:23 EST


Removed debug fs files and directory on failure. Since no one using "extfrag_debug_root" dentry outside of function
extfrag_debug_init made it local to the function.

Signed-off-by: Sasikanth V <sasikanth.v19@xxxxxxxxx>
---
mm/vmstat.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/mm/vmstat.c b/mm/vmstat.c
index f600557..ddae476 100644
--- a/mm/vmstat.c
+++ b/mm/vmstat.c
@@ -1220,7 +1220,6 @@ module_init(setup_vmstat)
#if defined(CONFIG_DEBUG_FS) && defined(CONFIG_COMPACTION)
#include <linux/debugfs.h>

-static struct dentry *extfrag_debug_root;

/*
* Return an index indicating how much of the available free memory is
@@ -1358,17 +1357,23 @@ static const struct file_operations extfrag_file_ops = {

static int __init extfrag_debug_init(void)
{
+ struct dentry *extfrag_debug_root;
+
extfrag_debug_root = debugfs_create_dir("extfrag", NULL);
if (!extfrag_debug_root)
return -ENOMEM;

if (!debugfs_create_file("unusable_index", 0444,
- extfrag_debug_root, NULL, &unusable_file_ops))
+ extfrag_debug_root, NULL, &unusable_file_ops)) {
+ debugfs_remove (extfrag_debug_root);
return -ENOMEM;
+ }

if (!debugfs_create_file("extfrag_index", 0444,
- extfrag_debug_root, NULL, &extfrag_file_ops))
+ extfrag_debug_root, NULL, &extfrag_file_ops)) {
+ debugfs_remove_recursive (extfrag_debug_root);
return -ENOMEM;
+ }

return 0;
}
--
1.7.3.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/