nfsd: remove unneeded spinlock in nfsd_cache_update
authorJeff Layton <jlayton@redhat.com>
Mon, 28 Jan 2013 19:41:08 +0000 (14:41 -0500)
committerJ. Bruce Fields <bfields@redhat.com>
Mon, 4 Feb 2013 14:16:19 +0000 (09:16 -0500)
The locking rules for cache entries say that locking the cache_lock
isn't needed if you're just touching the current entry. Earlier
in this function we set rp->c_state to RC_UNUSED without any locking,
so I believe it's ok to do the same here.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfscache.c

index 5dd9ec2..972c14a 100644 (file)
@@ -286,9 +286,7 @@ nfsd_cache_update(struct svc_rqst *rqstp, int cachetype, __be32 *statp)
                cachv = &rp->c_replvec;
                cachv->iov_base = kmalloc(len << 2, GFP_KERNEL);
                if (!cachv->iov_base) {
-                       spin_lock(&cache_lock);
                        rp->c_state = RC_UNUSED;
-                       spin_unlock(&cache_lock);
                        return;
                }
                cachv->iov_len = len << 2;