NFSv4: Mark the lock and open stateids as invalid after freeing them
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com> Tested-by: Oleg Drokin <green@linuxhacker.ru> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
parent
b134fc4a53
commit
67dd483026
|
@ -2560,6 +2560,7 @@ static int nfs41_check_expired_locks(struct nfs4_state *state)
|
|||
if (status == -NFS4ERR_EXPIRED ||
|
||||
status == -NFS4ERR_BAD_STATEID) {
|
||||
clear_bit(NFS_LOCK_INITIALIZED, &lsp->ls_flags);
|
||||
lsp->ls_stateid.type = NFS4_INVALID_STATEID_TYPE;
|
||||
if (!recover_lost_locks)
|
||||
set_bit(NFS_LOCK_LOST, &lsp->ls_flags);
|
||||
} else if (status != NFS_OK) {
|
||||
|
@ -2605,6 +2606,7 @@ static int nfs41_check_open_stateid(struct nfs4_state *state)
|
|||
clear_bit(NFS_O_WRONLY_STATE, &state->flags);
|
||||
clear_bit(NFS_O_RDWR_STATE, &state->flags);
|
||||
clear_bit(NFS_OPEN_STATE, &state->flags);
|
||||
stateid->type = NFS4_INVALID_STATEID_TYPE;
|
||||
}
|
||||
return status;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue