summaryrefslogtreecommitdiff
path: root/fs/nfs/delegation.c
diff options
context:
space:
mode:
authorLai Jiangshan <laijs@cn.fujitsu.com>2011-05-01 06:21:54 -0700
committerTrond Myklebust <Trond.Myklebust@netapp.com>2011-05-27 17:42:46 -0400
commit26f04dde681c6a48b2bacfc5fe01fef204419b0c (patch)
treeb8a6f047b6e5743ab795076e3cc0d0a5a72840e6 /fs/nfs/delegation.c
parent4b8ee2b82e8b0b6e17ee33feb74fcdb5c6d8dbdd (diff)
downloadlinux-3.10-26f04dde681c6a48b2bacfc5fe01fef204419b0c.tar.gz
linux-3.10-26f04dde681c6a48b2bacfc5fe01fef204419b0c.tar.bz2
linux-3.10-26f04dde681c6a48b2bacfc5fe01fef204419b0c.zip
nfs,rcu: convert call_rcu(nfs_free_delegation_callback) to kfree_rcu()
The rcu callback nfs_free_delegation_callback() just calls a kfree(), so we use kfree_rcu() instead of the call_rcu(nfs_free_delegation_callback). Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Trond Myklebust <Trond.Myklebust@netapp.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/delegation.c')
-rw-r--r--fs/nfs/delegation.c14
1 files changed, 1 insertions, 13 deletions
diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c
index bbbc6bf5cb2..dd25c2aec37 100644
--- a/fs/nfs/delegation.c
+++ b/fs/nfs/delegation.c
@@ -21,25 +21,13 @@
#include "delegation.h"
#include "internal.h"
-static void nfs_do_free_delegation(struct nfs_delegation *delegation)
-{
- kfree(delegation);
-}
-
-static void nfs_free_delegation_callback(struct rcu_head *head)
-{
- struct nfs_delegation *delegation = container_of(head, struct nfs_delegation, rcu);
-
- nfs_do_free_delegation(delegation);
-}
-
static void nfs_free_delegation(struct nfs_delegation *delegation)
{
if (delegation->cred) {
put_rpccred(delegation->cred);
delegation->cred = NULL;
}
- call_rcu(&delegation->rcu, nfs_free_delegation_callback);
+ kfree_rcu(delegation, rcu);
}
/**