Lines Matching refs:lsp
1847 static bool nfs4_update_lock_stateid(struct nfs4_lock_state *lsp,
1850 struct nfs4_state *state = lsp->ls_state;
1854 if (!nfs4_stateid_match_other(stateid, &lsp->ls_stateid))
1856 if (!nfs4_stateid_is_newer(stateid, &lsp->ls_stateid))
1858 nfs4_stateid_copy(&lsp->ls_stateid, stateid);
2290 struct nfs4_lock_state *lsp = fl->fl_u.nfs4_fl.owner;
2291 if (lsp)
2292 set_bit(NFS_LOCK_LOST, &lsp->ls_flags);
2897 struct nfs4_lock_state *lsp, *prev = NULL;
2904 list_for_each_entry(lsp, &state->lock_states, ls_locks) {
2905 if (test_bit(NFS_LOCK_INITIALIZED, &lsp->ls_flags)) {
2906 const struct cred *cred = lsp->ls_state->owner->so_cred;
2908 refcount_inc(&lsp->ls_count);
2912 prev = lsp;
2915 &lsp->ls_stateid,
2917 trace_nfs4_test_lock_stateid(state, lsp, status);
2920 clear_bit(NFS_LOCK_INITIALIZED, &lsp->ls_flags);
2921 lsp->ls_stateid.type = NFS4_INVALID_STATEID_TYPE;
2923 set_bit(NFS_LOCK_LOST, &lsp->ls_flags);
6638 struct nfs4_lock_state *lsp;
6645 lsp = request->fl_u.nfs4_fl.owner;
6646 arg.lock_owner.id = lsp->ls_seqid.owner_id;
6683 struct nfs4_lock_state *lsp)
6685 struct nfs4_state *state = lsp->ls_state;
6689 if (!nfs4_stateid_match_other(dst, &lsp->ls_stateid))
6691 if (!nfs4_stateid_is_newer(&lsp->ls_stateid, dst))
6694 dst->seqid = lsp->ls_stateid.seqid;
6702 struct nfs4_lock_state *lsp)
6704 struct nfs4_state *state = lsp->ls_state;
6708 ret = !nfs4_stateid_match_other(dst, &lsp->ls_stateid);
6709 nfs4_stateid_copy(dst, &lsp->ls_stateid);
6717 struct nfs4_lock_state *lsp;
6727 struct nfs4_lock_state *lsp,
6731 struct nfs4_state *state = lsp->ls_state;
6741 p->lsp = lsp;
6749 nfs4_stateid_copy(&p->arg.stateid, &lsp->ls_stateid);
6758 nfs4_put_lock_state(calldata->lsp);
6768 .inode = calldata->lsp->ls_state->inode,
6777 locks_lock_inode_wait(calldata->lsp->ls_state->inode, &calldata->fl);
6778 if (nfs4_update_lock_stateid(calldata->lsp,
6791 calldata->lsp))
6796 calldata->lsp))
6819 if (test_bit(NFS_LOCK_INITIALIZED, &calldata->lsp->ls_flags) == 0) {
6844 struct nfs4_lock_state *lsp,
6853 .rpc_client = NFS_CLIENT(lsp->ls_state->inode),
6860 nfs4_state_protect(NFS_SERVER(lsp->ls_state->inode)->nfs_client,
6870 data = nfs4_alloc_unlockdata(fl, ctx, lsp, seqid);
6889 struct nfs4_lock_state *lsp;
6912 lsp = request->fl_u.nfs4_fl.owner;
6913 if (test_bit(NFS_LOCK_INITIALIZED, &lsp->ls_flags) == 0)
6916 seqid = alloc_seqid(&lsp->ls_seqid, GFP_KERNEL);
6920 task = nfs4_do_unlck(request, nfs_file_open_context(request->fl_file), lsp, seqid);
6935 struct nfs4_lock_state *lsp;
6945 struct nfs_open_context *ctx, struct nfs4_lock_state *lsp,
6949 struct inode *inode = lsp->ls_state->inode;
6959 p->arg.open_seqid = nfs_alloc_seqid(&lsp->ls_state->owner->so_seqid, gfp_mask);
6963 p->arg.lock_seqid = alloc_seqid(&lsp->ls_seqid, gfp_mask);
6967 p->arg.lock_owner.id = lsp->ls_seqid.owner_id;
6970 p->lsp = lsp;
6986 struct nfs4_state *state = data->lsp->ls_state;
6992 if (!test_bit(NFS_LOCK_INITIALIZED, &data->lsp->ls_flags)) {
7003 &data->lsp->ls_stateid);
7028 struct nfs4_lock_state *lsp = data->lsp;
7042 if (locks_lock_inode_wait(lsp->ls_state->inode, &data->fl) < 0)
7046 nfs_confirm_seqid(&lsp->ls_seqid, 0);
7047 nfs4_stateid_copy(&lsp->ls_stateid, &data->res.stateid);
7048 set_bit(NFS_LOCK_INITIALIZED, &lsp->ls_flags);
7049 } else if (!nfs4_update_lock_stateid(lsp, &data->res.stateid))
7055 lsp->ls_state))
7057 if (nfs4_refresh_lock_old_stateid(&data->arg.lock_stateid, lsp))
7065 &lsp->ls_state->open_stateid))
7067 else if (nfs4_async_handle_error(task, server, lsp->ls_state, NULL) == -EAGAIN)
7070 &lsp->ls_stateid))
7090 task = nfs4_do_unlck(&data->fl, data->ctx, data->lsp,
7097 nfs4_put_lock_state(data->lsp);
7109 static void nfs4_handle_setlk_error(struct nfs_server *server, struct nfs4_lock_state *lsp, int new_lock_owner, int error)
7115 lsp->ls_seqid.flags &= ~NFS_SEQID_CONFIRMED;
7117 test_bit(NFS_LOCK_INITIALIZED, &lsp->ls_flags) != 0)
7118 nfs4_schedule_stateid_recovery(server, lsp->ls_state);
7121 lsp->ls_seqid.flags &= ~NFS_SEQID_CONFIRMED;
7168 nfs4_handle_setlk_error(data->server, data->lsp,
7233 struct nfs4_lock_state *lsp;
7239 lsp = request->fl_u.nfs4_fl.owner;
7240 if (test_bit(NFS_LOCK_INITIALIZED, &lsp->ls_flags) ||
7241 test_bit(NFS_LOCK_LOST, &lsp->ls_flags))
7359 struct nfs4_lock_state *lsp = request->fl_u.nfs4_fl.owner;
7364 .id = lsp->ls_seqid.owner_id,
7476 struct nfs4_lock_state *lsp;
7519 nfs4_free_lock_state(data->server, data->lsp);
7530 nfs4_release_lockowner(struct nfs_server *server, struct nfs4_lock_state *lsp)
7543 data->lsp = lsp;
7546 data->args.lock_owner.id = lsp->ls_seqid.owner_id;
10178 nfs41_free_lock_state(struct nfs_server *server, struct nfs4_lock_state *lsp)
10180 const struct cred *cred = lsp->ls_state->owner->so_cred;
10182 nfs41_free_stateid(server, &lsp->ls_stateid, cred, false);
10183 nfs4_free_lock_state(server, lsp);