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

From: KOSAKI Motohiro
Date: Mon Apr 23 2012 - 15:08:20 EST


On Mon, Apr 23, 2012 at 2:50 PM, Sasikanth V <sasikanth.v19@xxxxxxxxx> wrote:
> 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;
> +       }

Looks good.
--
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/