lkml.org 
[lkml]   [2009]   [Aug]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH -tip] v3 Use debugfs_remove_recursive() simplify code.
    Date
    From: Paul E. McKenney <paulmck@linux.vnet.ibm.com>

    Suggested by Josh Triplett.

    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    ---
    kernel/rcutree_trace.c | 45 +++++++++++++++------------------------------
    1 files changed, 15 insertions(+), 30 deletions(-)

    diff --git a/kernel/rcutree_trace.c b/kernel/rcutree_trace.c
    index ea4a474..31af3a0 100644
    --- a/kernel/rcutree_trace.c
    +++ b/kernel/rcutree_trace.c
    @@ -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);
    }


    --
    1.5.2.5


    \
     
     \ /
      Last update: 2009-08-22 23:03    [W:2.307 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site