diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-01-03 09:55:58 +0100 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2006-01-06 14:58:58 -0500 |
commit | 26c78e156b1d1b2387ec33b5f2fb62d6e0a186a3 (patch) | |
tree | fdbcdc6baa25af41d6935eebd537997fa24bf495 /fs/nfs/delegation.c | |
parent | 58df095b732529ade8f4051b41d7c29731afecd6 (diff) | |
download | lwn-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.c | 6 |
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); |