|
@@ -4395,7 +4395,7 @@ static void nfs4_locku_prepare(struct rpc_task *task, void *data)
|
|
|
|
|
|
if (nfs_wait_on_sequence(calldata->arg.seqid, task) != 0)
|
|
if (nfs_wait_on_sequence(calldata->arg.seqid, task) != 0)
|
|
return;
|
|
return;
|
|
- if ((calldata->lsp->ls_flags & NFS_LOCK_INITIALIZED) == 0) {
|
|
|
|
|
|
+ if (test_bit(NFS_LOCK_INITIALIZED, &calldata->lsp->ls_flags) == 0) {
|
|
/* Note: exit _without_ running nfs4_locku_done */
|
|
/* Note: exit _without_ running nfs4_locku_done */
|
|
task->tk_action = NULL;
|
|
task->tk_action = NULL;
|
|
return;
|
|
return;
|
|
@@ -4589,7 +4589,7 @@ static void nfs4_lock_done(struct rpc_task *task, void *calldata)
|
|
}
|
|
}
|
|
if (data->rpc_status == 0) {
|
|
if (data->rpc_status == 0) {
|
|
nfs4_stateid_copy(&data->lsp->ls_stateid, &data->res.stateid);
|
|
nfs4_stateid_copy(&data->lsp->ls_stateid, &data->res.stateid);
|
|
- data->lsp->ls_flags |= NFS_LOCK_INITIALIZED;
|
|
|
|
|
|
+ set_bit(NFS_LOCK_INITIALIZED, &data->lsp->ls_flags);
|
|
renew_lease(NFS_SERVER(data->ctx->dentry->d_inode), data->timestamp);
|
|
renew_lease(NFS_SERVER(data->ctx->dentry->d_inode), data->timestamp);
|
|
}
|
|
}
|
|
out:
|
|
out:
|
|
@@ -4636,7 +4636,7 @@ static void nfs4_handle_setlk_error(struct nfs_server *server, struct nfs4_lock_
|
|
case -NFS4ERR_BAD_STATEID:
|
|
case -NFS4ERR_BAD_STATEID:
|
|
lsp->ls_seqid.flags &= ~NFS_SEQID_CONFIRMED;
|
|
lsp->ls_seqid.flags &= ~NFS_SEQID_CONFIRMED;
|
|
if (new_lock_owner != 0 ||
|
|
if (new_lock_owner != 0 ||
|
|
- (lsp->ls_flags & NFS_LOCK_INITIALIZED) != 0)
|
|
|
|
|
|
+ test_bit(NFS_LOCK_INITIALIZED, &lsp->ls_flags) != 0)
|
|
nfs4_schedule_stateid_recovery(server, lsp->ls_state);
|
|
nfs4_schedule_stateid_recovery(server, lsp->ls_state);
|
|
break;
|
|
break;
|
|
case -NFS4ERR_STALE_STATEID:
|
|
case -NFS4ERR_STALE_STATEID:
|
|
@@ -4760,7 +4760,7 @@ static int nfs41_check_expired_locks(struct nfs4_state *state)
|
|
struct nfs_server *server = NFS_SERVER(state->inode);
|
|
struct nfs_server *server = NFS_SERVER(state->inode);
|
|
|
|
|
|
list_for_each_entry(lsp, &state->lock_states, ls_locks) {
|
|
list_for_each_entry(lsp, &state->lock_states, ls_locks) {
|
|
- if (lsp->ls_flags & NFS_LOCK_INITIALIZED) {
|
|
|
|
|
|
+ if (test_bit(NFS_LOCK_INITIALIZED, &lsp->ls_flags)) {
|
|
status = nfs41_test_stateid(server, &lsp->ls_stateid);
|
|
status = nfs41_test_stateid(server, &lsp->ls_stateid);
|
|
if (status != NFS_OK) {
|
|
if (status != NFS_OK) {
|
|
/* Free the stateid unless the server
|
|
/* Free the stateid unless the server
|
|
@@ -4768,7 +4768,7 @@ static int nfs41_check_expired_locks(struct nfs4_state *state)
|
|
if (status != -NFS4ERR_BAD_STATEID)
|
|
if (status != -NFS4ERR_BAD_STATEID)
|
|
nfs41_free_stateid(server,
|
|
nfs41_free_stateid(server,
|
|
&lsp->ls_stateid);
|
|
&lsp->ls_stateid);
|
|
- lsp->ls_flags &= ~NFS_LOCK_INITIALIZED;
|
|
|
|
|
|
+ clear_bit(NFS_LOCK_INITIALIZED, &lsp->ls_flags);
|
|
ret = status;
|
|
ret = status;
|
|
}
|
|
}
|
|
}
|
|
}
|