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>
This commit is contained in:
@@ -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,10 +249,9 @@ restart:
|
|||||||
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:
|
||||||
spin_unlock(&clp->cl_lock);
|
spin_unlock(&clp->cl_lock);
|
||||||
|
Reference in New Issue
Block a user