Lines Matching refs:lsp
1852 static bool nfs4_update_lock_stateid(struct nfs4_lock_state *lsp,
1855 struct nfs4_state *state = lsp->ls_state;
1859 if (!nfs4_stateid_match_other(stateid, &lsp->ls_stateid))
1861 if (!nfs4_stateid_is_newer(stateid, &lsp->ls_stateid))
1863 nfs4_stateid_copy(&lsp->ls_stateid, stateid);
2296 struct nfs4_lock_state *lsp = fl->fl_u.nfs4_fl.owner;
2297 if (lsp)
2298 set_bit(NFS_LOCK_LOST, &lsp->ls_flags);
2907 struct nfs4_lock_state *lsp, *prev = NULL;
2914 list_for_each_entry(lsp, &state->lock_states, ls_locks) {
2915 if (test_bit(NFS_LOCK_INITIALIZED, &lsp->ls_flags)) {
2916 const struct cred *cred = lsp->ls_state->owner->so_cred;
2918 refcount_inc(&lsp->ls_count);
2922 prev = lsp;
2925 &lsp->ls_stateid,
2927 trace_nfs4_test_lock_stateid(state, lsp, status);
2930 clear_bit(NFS_LOCK_INITIALIZED, &lsp->ls_flags);
2931 lsp->ls_stateid.type = NFS4_INVALID_STATEID_TYPE;
2933 set_bit(NFS_LOCK_LOST, &lsp->ls_flags);
6764 struct nfs4_lock_state *lsp;
6771 lsp = request->fl_u.nfs4_fl.owner;
6772 arg.lock_owner.id = lsp->ls_seqid.owner_id;
6809 struct nfs4_lock_state *lsp)
6811 struct nfs4_state *state = lsp->ls_state;
6815 if (!nfs4_stateid_match_other(dst, &lsp->ls_stateid))
6817 if (!nfs4_stateid_is_newer(&lsp->ls_stateid, dst))
6820 dst->seqid = lsp->ls_stateid.seqid;
6828 struct nfs4_lock_state *lsp)
6830 struct nfs4_state *state = lsp->ls_state;
6834 ret = !nfs4_stateid_match_other(dst, &lsp->ls_stateid);
6835 nfs4_stateid_copy(dst, &lsp->ls_stateid);
6843 struct nfs4_lock_state *lsp;
6853 struct nfs4_lock_state *lsp,
6857 struct nfs4_state *state = lsp->ls_state;
6867 p->lsp = lsp;
6875 nfs4_stateid_copy(&p->arg.stateid, &lsp->ls_stateid);
6884 nfs4_put_lock_state(calldata->lsp);
6894 .inode = calldata->lsp->ls_state->inode,
6903 locks_lock_inode_wait(calldata->lsp->ls_state->inode, &calldata->fl);
6904 if (nfs4_update_lock_stateid(calldata->lsp,
6917 calldata->lsp))
6922 calldata->lsp))
6945 if (test_bit(NFS_LOCK_INITIALIZED, &calldata->lsp->ls_flags) == 0) {
6970 struct nfs4_lock_state *lsp,
6979 .rpc_client = NFS_CLIENT(lsp->ls_state->inode),
6986 if (nfs_server_capable(lsp->ls_state->inode, NFS_CAP_MOVEABLE))
6989 nfs4_state_protect(NFS_SERVER(lsp->ls_state->inode)->nfs_client,
6999 data = nfs4_alloc_unlockdata(fl, ctx, lsp, seqid);
7018 struct nfs4_lock_state *lsp;
7036 lsp = request->fl_u.nfs4_fl.owner;
7037 set_bit(NFS_LOCK_UNLOCKING, &lsp->ls_flags);
7043 if (test_bit(NFS_LOCK_INITIALIZED, &lsp->ls_flags) == 0)
7046 seqid = alloc_seqid(&lsp->ls_seqid, GFP_KERNEL);
7050 task = nfs4_do_unlck(request, nfs_file_open_context(request->fl_file), lsp, seqid);
7065 struct nfs4_lock_state *lsp;
7075 struct nfs_open_context *ctx, struct nfs4_lock_state *lsp,
7079 struct inode *inode = lsp->ls_state->inode;
7089 p->arg.open_seqid = nfs_alloc_seqid(&lsp->ls_state->owner->so_seqid, gfp_mask);
7093 p->arg.lock_seqid = alloc_seqid(&lsp->ls_seqid, gfp_mask);
7097 p->arg.lock_owner.id = lsp->ls_seqid.owner_id;
7100 p->lsp = lsp;
7116 struct nfs4_state *state = data->lsp->ls_state;
7121 if (!test_bit(NFS_LOCK_INITIALIZED, &data->lsp->ls_flags)) {
7132 &data->lsp->ls_stateid);
7157 struct nfs4_lock_state *lsp = data->lsp;
7169 if (locks_lock_inode_wait(lsp->ls_state->inode, &data->fl) < 0)
7173 nfs_confirm_seqid(&lsp->ls_seqid, 0);
7174 nfs4_stateid_copy(&lsp->ls_stateid, &data->res.stateid);
7175 set_bit(NFS_LOCK_INITIALIZED, &lsp->ls_flags);
7176 } else if (!nfs4_update_lock_stateid(lsp, &data->res.stateid))
7182 lsp->ls_state))
7184 if (nfs4_refresh_lock_old_stateid(&data->arg.lock_stateid, lsp))
7192 &lsp->ls_state->open_stateid))
7195 &lsp->ls_stateid))
7214 task = nfs4_do_unlck(&data->fl, data->ctx, data->lsp,
7221 nfs4_put_lock_state(data->lsp);
7232 static void nfs4_handle_setlk_error(struct nfs_server *server, struct nfs4_lock_state *lsp, int new_lock_owner, int error)
7238 lsp->ls_seqid.flags &= ~NFS_SEQID_CONFIRMED;
7240 test_bit(NFS_LOCK_INITIALIZED, &lsp->ls_flags) != 0)
7241 nfs4_schedule_stateid_recovery(server, lsp->ls_state);
7244 lsp->ls_seqid.flags &= ~NFS_SEQID_CONFIRMED;
7292 nfs4_handle_setlk_error(data->server, data->lsp,
7357 struct nfs4_lock_state *lsp;
7363 lsp = request->fl_u.nfs4_fl.owner;
7364 if (test_bit(NFS_LOCK_INITIALIZED, &lsp->ls_flags) ||
7365 test_bit(NFS_LOCK_LOST, &lsp->ls_flags))
7477 struct nfs4_lock_state *lsp = request->fl_u.nfs4_fl.owner;
7484 .id = lsp->ls_seqid.owner_id,
7628 struct nfs4_lock_state *lsp;
7671 nfs4_free_lock_state(data->server, data->lsp);
7682 nfs4_release_lockowner(struct nfs_server *server, struct nfs4_lock_state *lsp)
7695 data->lsp = lsp;
7698 data->args.lock_owner.id = lsp->ls_seqid.owner_id;
10393 nfs41_free_lock_state(struct nfs_server *server, struct nfs4_lock_state *lsp)
10395 const struct cred *cred = lsp->ls_state->owner->so_cred;
10397 nfs41_free_stateid(server, &lsp->ls_stateid, cred, false);
10398 nfs4_free_lock_state(server, lsp);