summaryrefslogtreecommitdiff
path: root/fs/nfs/delegation.c
diff options
context:
space:
mode:
authorTrond Myklebust <Trond.Myklebust@netapp.com>2006-01-03 09:55:58 +0100
committerTrond Myklebust <Trond.Myklebust@netapp.com>2006-01-06 14:58:58 -0500
commit26c78e156b1d1b2387ec33b5f2fb62d6e0a186a3 (patch)
treefdbcdc6baa25af41d6935eebd537997fa24bf495 /fs/nfs/delegation.c
parent58df095b732529ade8f4051b41d7c29731afecd6 (diff)
downloadlwn-26c78e156b1d1b2387ec33b5f2fb62d6e0a186a3.tar.gz
lwn-26c78e156b1d1b2387ec33b5f2fb62d6e0a186a3.zip
NFSv4: Fix an Oops in nfs_do_expire_all_delegations
If the loop errors, we need to exit. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'fs/nfs/delegation.c')
-rw-r--r--fs/nfs/delegation.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/fs/nfs/delegation.c b/fs/nfs/delegation.c
index 66cc720e3927..c6f07c1c71e6 100644
--- a/fs/nfs/delegation.c
+++ b/fs/nfs/delegation.c
@@ -236,7 +236,6 @@ int nfs_do_expire_all_delegations(void *ptr)
struct nfs4_client *clp = ptr;
struct nfs_delegation *delegation;
struct inode *inode;
- int err = 0;
allow_signal(SIGKILL);
restart:
@@ -250,10 +249,9 @@ restart:
if (inode == NULL)
continue;
spin_unlock(&clp->cl_lock);
- err = nfs_inode_return_delegation(inode);
+ nfs_inode_return_delegation(inode);
iput(inode);
- if (!err)
- goto restart;
+ goto restart;
}
out:
spin_unlock(&clp->cl_lock);