Commit 26c78e15 authored by Trond Myklebust's avatar Trond Myklebust

NFSv4: Fix an Oops in nfs_do_expire_all_delegations

 If the loop errors, we need to exit.
Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 58df095b
...@@ -236,7 +236,6 @@ int nfs_do_expire_all_delegations(void *ptr) ...@@ -236,7 +236,6 @@ int nfs_do_expire_all_delegations(void *ptr)
struct nfs4_client *clp = ptr; struct nfs4_client *clp = ptr;
struct nfs_delegation *delegation; struct nfs_delegation *delegation;
struct inode *inode; struct inode *inode;
int err = 0;
allow_signal(SIGKILL); allow_signal(SIGKILL);
restart: restart:
...@@ -250,9 +249,8 @@ int nfs_do_expire_all_delegations(void *ptr) ...@@ -250,9 +249,8 @@ int nfs_do_expire_all_delegations(void *ptr)
if (inode == NULL) if (inode == NULL)
continue; continue;
spin_unlock(&clp->cl_lock); spin_unlock(&clp->cl_lock);
err = nfs_inode_return_delegation(inode); nfs_inode_return_delegation(inode);
iput(inode); iput(inode);
if (!err)
goto restart; goto restart;
} }
out: out:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment