diff options
author | Lai Jiangshan <laijs@cn.fujitsu.com> | 2011-03-18 11:59:14 +0800 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2011-07-20 11:05:29 -0700 |
commit | b119cbab3aecd19dbd748a9823c02d200b96b2f8 (patch) | |
tree | 3470ea9fcf8787d58d2defb2a6bb715d0e550b15 /drivers/md/linear.c | |
parent | a841796f11c90d53dbac773be56b04fbee8af272 (diff) | |
download | linux-b119cbab3aecd19dbd748a9823c02d200b96b2f8.tar.bz2 |
md,rcu: Convert call_rcu(free_conf) to kfree_rcu()
The rcu callback free_conf() just calls a kfree(),
so we use kfree_rcu() instead of the call_rcu(free_conf).
Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: NeilBrown <neilb@suse.de>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Diffstat (limited to 'drivers/md/linear.c')
-rw-r--r-- | drivers/md/linear.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/md/linear.c b/drivers/md/linear.c index abfb59a61ede..6cd2c313e800 100644 --- a/drivers/md/linear.c +++ b/drivers/md/linear.c @@ -213,12 +213,6 @@ static int linear_run (mddev_t *mddev) return md_integrity_register(mddev); } -static void free_conf(struct rcu_head *head) -{ - linear_conf_t *conf = container_of(head, linear_conf_t, rcu); - kfree(conf); -} - static int linear_add(mddev_t *mddev, mdk_rdev_t *rdev) { /* Adding a drive to a linear array allows the array to grow. @@ -247,7 +241,7 @@ static int linear_add(mddev_t *mddev, mdk_rdev_t *rdev) md_set_array_sectors(mddev, linear_size(mddev, 0, 0)); set_capacity(mddev->gendisk, mddev->array_sectors); revalidate_disk(mddev->gendisk); - call_rcu(&oldconf->rcu, free_conf); + kfree_rcu(oldconf, rcu); return 0; } |