On Tue, Sep 08, 2015 at 02:49:02PM -0500, Eric Sandeen wrote:
> remove_proc_subtree() was added in 3.9, and can be
> used to simplify our procfile creation error handling
> and cleanup, removing the nested gotos. It simply
> removes fs/xfs and everything created under it.
>
> Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
> ---
Reviewed-by: Brian Foster <bfoster@xxxxxxxxxx>
>
> This goes after Bill's patches, I just noticed it
> while reviewing them.
>
> diff --git a/fs/xfs/xfs_stats.c b/fs/xfs/xfs_stats.c
> index 05d5227..009a860 100644
> --- a/fs/xfs/xfs_stats.c
> +++ b/fs/xfs/xfs_stats.c
> @@ -168,41 +168,29 @@ int
> xfs_init_procfs(void)
> {
> if (!proc_mkdir("fs/xfs", NULL))
> - goto out;
> + return -ENOMEM;
>
> if (!proc_symlink("fs/xfs/stat", NULL,
> "/sys/fs/xfs/stats/stats"))
> - goto out_remove_xfs_dir;
> + goto out;
>
> #ifdef CONFIG_XFS_QUOTA
> if (!proc_create("fs/xfs/xqmstat", 0, NULL,
> &xqmstat_proc_fops))
> - goto out_remove_stat_file;
> + goto out;
> if (!proc_create("fs/xfs/xqm", 0, NULL,
> &xqm_proc_fops))
> - goto out_remove_xqmstat_file;
> + goto out;
> #endif
> return 0;
>
> -#ifdef CONFIG_XFS_QUOTA
> - out_remove_xqmstat_file:
> - remove_proc_entry("fs/xfs/xqmstat", NULL);
> - out_remove_stat_file:
> - remove_proc_entry("fs/xfs/stat", NULL);
> -#endif
> - out_remove_xfs_dir:
> - remove_proc_entry("fs/xfs", NULL);
> - out:
> +out:
> + remove_proc_subtree("fs/xfs", NULL);
> return -ENOMEM;
> }
>
> void
> xfs_cleanup_procfs(void)
> {
> -#ifdef CONFIG_XFS_QUOTA
> - remove_proc_entry("fs/xfs/xqm", NULL);
> - remove_proc_entry("fs/xfs/xqmstat", NULL);
> -#endif
> - remove_proc_entry("fs/xfs/stat", NULL);
> - remove_proc_entry("fs/xfs", NULL);
> + remove_proc_subtree("fs/xfs", NULL);
> }
>
> _______________________________________________
> xfs mailing list
> xfs@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs
|