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 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs