lkml.org 
[lkml]   [2012]   [Apr]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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.


\
 
 \ /
  Last update: 2012-04-23 22:39    [W:0.036 / U:25.648 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site