summary refs log tree commit diff
path: root/fs
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@citi.umich.edu>2009-02-21 15:39:54 -0800
committerJ. Bruce Fields <bfields@citi.umich.edu>2009-03-18 17:38:38 -0400
commitd7fdcfe0aaaf6dffca6fa857bab374182fe7ca8b (patch)
treef53688b2496a98da148297972b4e27318810ec89 /fs
parent18f82731b7784ba81ee9b1ed6a8179b577fa898b (diff)
downloadlinux-d7fdcfe0aaaf6dffca6fa857bab374182fe7ca8b.tar.gz
nfsd4: put_nfs4_client does not require state lock
Since free_client() is guaranteed to only be called once, and to only
touch the client structure itself (not any common data structures), it
has no need for the state lock.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Cc: Alexandros Batsakis <batsakis@netapp.com>
Diffstat (limited to 'fs')
-rw-r--r--fs/nfsd/nfs4callback.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfsd/nfs4callback.c b/fs/nfsd/nfs4callback.c
index 3ddc9fb2e358..3fd7136321ca 100644
--- a/fs/nfsd/nfs4callback.c
+++ b/fs/nfsd/nfs4callback.c
@@ -490,8 +490,8 @@ out_put_cred:
 	 * Success or failure, now we're either waiting for lease expiration
 	 * or deleg_return.
 	 */
-	nfs4_lock_state();
 	put_nfs4_client(clp);
+	nfs4_lock_state();
 	nfs4_put_delegation(dp);
 	nfs4_unlock_state();
 	return;