rcu: Use debugfs_remove_recursive() simplify code.
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Sat, 22 Aug 2009 20:56:50 +0000 (13:56 -0700)
committerIngo Molnar <mingo@elte.hu>
Sun, 23 Aug 2009 08:32:39 +0000 (10:32 +0200)
Suggested by Josh Triplett.

Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: laijs@cn.fujitsu.com
Cc: dipankar@in.ibm.com
Cc: akpm@linux-foundation.org
Cc: mathieu.desnoyers@polymtl.ca
Cc: josht@linux.vnet.ibm.com
Cc: dvhltc@us.ibm.com
Cc: niv@us.ibm.com
Cc: peterz@infradead.org
Cc: rostedt@goodmis.org
Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
LKML-Reference: <12509746132173-git-send-email->
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/rcutree_trace.c

index ea4a474..31af3a0 100644 (file)
@@ -265,62 +265,47 @@ static struct file_operations rcu_pending_fops = {
 };
 
 static struct dentry *rcudir;
-static struct dentry *datadir;
-static struct dentry *datadir_csv;
-static struct dentry *gpdir;
-static struct dentry *hierdir;
-static struct dentry *rcu_pendingdir;
 
 static int __init rcuclassic_trace_init(void)
 {
+       struct dentry *retval;
+
        rcudir = debugfs_create_dir("rcu", NULL);
        if (!rcudir)
-               goto out;
+               goto free_out;
 
-       datadir = debugfs_create_file("rcudata", 0444, rcudir,
+       retval = debugfs_create_file("rcudata", 0444, rcudir,
                                                NULL, &rcudata_fops);
-       if (!datadir)
+       if (!retval)
                goto free_out;
 
-       datadir_csv = debugfs_create_file("rcudata.csv", 0444, rcudir,
+       retval = debugfs_create_file("rcudata.csv", 0444, rcudir,
                                                NULL, &rcudata_csv_fops);
-       if (!datadir_csv)
+       if (!retval)
                goto free_out;
 
-       gpdir = debugfs_create_file("rcugp", 0444, rcudir, NULL, &rcugp_fops);
-       if (!gpdir)
+       retval = debugfs_create_file("rcugp", 0444, rcudir, NULL, &rcugp_fops);
+       if (!retval)
                goto free_out;
 
-       hierdir = debugfs_create_file("rcuhier", 0444, rcudir,
+       retval = debugfs_create_file("rcuhier", 0444, rcudir,
                                                NULL, &rcuhier_fops);
-       if (!hierdir)
+       if (!retval)
                goto free_out;
 
-       rcu_pendingdir = debugfs_create_file("rcu_pending", 0444, rcudir,
+       retval = debugfs_create_file("rcu_pending", 0444, rcudir,
                                                NULL, &rcu_pending_fops);
-       if (!rcu_pendingdir)
+       if (!retval)
                goto free_out;
        return 0;
 free_out:
-       if (datadir)
-               debugfs_remove(datadir);
-       if (datadir_csv)
-               debugfs_remove(datadir_csv);
-       if (gpdir)
-               debugfs_remove(gpdir);
-       debugfs_remove(rcudir);
-out:
+       debugfs_remove_recursive(rcudir);
        return 1;
 }
 
 static void __exit rcuclassic_trace_cleanup(void)
 {
-       debugfs_remove(datadir);
-       debugfs_remove(datadir_csv);
-       debugfs_remove(gpdir);
-       debugfs_remove(hierdir);
-       debugfs_remove(rcu_pendingdir);
-       debugfs_remove(rcudir);
+       debugfs_remove_recursive(rcudir);
 }