Messages in this thread | | | Date | Mon, 23 Apr 2012 13:35:30 -0700 (PDT) | From | David Rientjes <> | Subject | Re: [PATCH] mm:vmstat - Removed debug fs entries on failure of file creation and made extfrag_debug_root dentry local |
| |
On Tue, 24 Apr 2012, Sasikantha babu wrote:
> 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; > }
Probably easier to do something like "goto fail" and then have a
return 0;
fail: debugfs_remove_recursive(extfrag_debug_root); return -ENOMEM;
at the end of the function.
Please run scripts/checkpatch.pl on your patch before proposing it.
| |