NFSv4: Fix another potential state manager deadlock
Don't hold the NFSv4 sequence id while we check for open permission. The call to ACCESS may block due to reboot recovery. Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
This commit is contained in:
@@ -1046,6 +1046,7 @@ static struct nfs4_state *nfs4_try_open_cached(struct nfs4_opendata *opendata)
|
|||||||
/* Save the delegation */
|
/* Save the delegation */
|
||||||
nfs4_stateid_copy(&stateid, &delegation->stateid);
|
nfs4_stateid_copy(&stateid, &delegation->stateid);
|
||||||
rcu_read_unlock();
|
rcu_read_unlock();
|
||||||
|
nfs_release_seqid(opendata->o_arg.seqid);
|
||||||
ret = nfs_may_open(state->inode, state->owner->so_cred, open_mode);
|
ret = nfs_may_open(state->inode, state->owner->so_cred, open_mode);
|
||||||
if (ret != 0)
|
if (ret != 0)
|
||||||
goto out;
|
goto out;
|
||||||
|
|||||||
Reference in New Issue
Block a user