Lines Matching defs:stateid

381 		nfs4_stateid *stateid,
386 ops->test_and_free_expired(server, stateid, cred);
390 nfs4_stateid *stateid,
393 stateid->type = NFS4_REVOKED_STATEID_TYPE;
394 nfs4_test_and_free_stateid(server, stateid, cred);
398 const nfs4_stateid *stateid,
403 nfs4_stateid_copy(&tmp, stateid);
451 nfs4_recoverable_stateid(const nfs4_stateid *stateid)
453 if (!stateid)
455 switch (stateid->type) {
459 return stateid;
474 const nfs4_stateid *stateid;
482 stateid = nfs4_recoverable_stateid(exception->stateid);
483 if (stateid == NULL && state != NULL)
484 stateid = nfs4_recoverable_stateid(&state->stateid);
499 if (inode != NULL && stateid != NULL) {
501 stateid);
510 stateid);
513 if (stateid != NULL && stateid->type == NFS4_DELEGATION_STATEID_TYPE) {
1458 p->c_arg.stateid = &p->o_res.stateid;
1623 * Check for whether or not the caller may update the open stateid
1624 * to the value passed in by stateid.
1629 * i.e. The stateid seqids have to be initialised to 1, and
1633 const nfs4_stateid *stateid)
1637 if (nfs4_stateid_match_other(stateid, &state->open_stateid)) {
1638 if (nfs4_stateid_is_next(&state->open_stateid, stateid))
1642 /* The server returned a new stateid */
1645 if (stateid->seqid == cpu_to_be32(1))
1664 nfs4_stateid *stateid, fmode_t fmode)
1679 if (stateid == NULL)
1682 if (nfs4_stateid_match_other(stateid, &state->open_stateid) &&
1683 !nfs4_stateid_is_newer(stateid, &state->open_stateid)) {
1688 nfs4_stateid_copy(&state->stateid, stateid);
1689 nfs4_stateid_copy(&state->open_stateid, stateid);
1690 trace_nfs4_open_stateid_update(state->inode, stateid, 0);
1697 nfs4_stateid *stateid, fmode_t fmode)
1700 /* Ignore, if the CLOSE argment doesn't match the current stateid */
1702 nfs_clear_open_stateid_locked(state, stateid, fmode);
1709 const nfs4_stateid *stateid, nfs4_stateid *freeme)
1719 if (nfs_stateid_is_sequential(state, stateid))
1733 * update of the stateid until we are in sequence.
1738 trace_nfs4_open_stateid_update_wait(state->inode, stateid, 0);
1754 !nfs4_stateid_match_other(stateid, &state->open_stateid)) {
1760 nfs4_stateid_copy(&state->stateid, stateid);
1761 nfs4_stateid_copy(&state->open_stateid, stateid);
1762 trace_nfs4_open_stateid_update(state->inode, stateid, status);
1773 * serialise the stateid update
1805 * serialise the stateid update
1808 nfs4_stateid_copy(&state->stateid, deleg_stateid);
1816 nfs4_stateid_copy(&state->stateid, &state->open_stateid);
1853 delegation = &deleg_cur->stateid;
1854 else if (!nfs4_stateid_match_other(&deleg_cur->stateid, delegation))
1858 nfs_state_set_delegation(state, &deleg_cur->stateid, fmode);
1878 const nfs4_stateid *stateid)
1884 if (!nfs4_stateid_match_other(stateid, &lsp->ls_stateid))
1886 if (!nfs4_stateid_is_newer(stateid, &lsp->ls_stateid))
1888 nfs4_stateid_copy(&lsp->ls_stateid, stateid);
1917 nfs4_stateid stateid;
1935 nfs4_stateid_copy(&stateid, &delegation->stateid);
1945 /* Try to update the stateid using the delegation */
1946 if (update_open_stateid(state, NULL, &stateid, fmode))
2021 if (!update_open_stateid(state, &data->o_res.stateid,
2088 if (!update_open_stateid(state, &data->o_res.stateid,
2205 * Check if we need to update the current stateid.
2208 !nfs4_stateid_match(&state->stateid, &state->open_stateid)) {
2211 nfs4_stateid_copy(&state->stateid, &state->open_stateid);
2275 static int nfs4_handle_delegation_recall_error(struct nfs_server *server, struct nfs4_state *state, const nfs4_stateid *stateid, struct file_lock *fl, int err)
2311 stateid);
2331 struct nfs4_state *state, const nfs4_stateid *stateid)
2341 nfs4_stateid_copy(&opendata->o_arg.u.delegation, stateid);
2360 return nfs4_handle_delegation_recall_error(server, state, stateid, NULL, err);
2379 nfs4_stateid_copy(&data->o_res.stateid, &data->c_res.stateid);
2807 const nfs4_stateid *stateid)
2809 nfs_remove_bad_delegation(state->inode, stateid);
2828 nfs4_stateid *stateid,
2836 nfs4_stateid *stateid,
2841 switch (stateid->type) {
2851 status = nfs41_test_stateid(server, stateid, cred);
2862 nfs41_free_stateid(server, stateid, cred, true);
2869 nfs4_stateid stateid;
2884 nfs4_stateid_copy(&stateid, &delegation->stateid);
2897 status = nfs41_test_and_free_expired_stateid(server, &stateid, cred);
2900 nfs_finish_clear_delegation_stateid(state, &stateid);
2915 nfs4_stateid_match_other(&state->stateid, &tmp))
2922 * nfs41_check_expired_locks - possibly free a lock stateid
2926 * Returns NFS_OK if recovery for this stateid is now finished.
2974 * nfs41_check_open_stateid - possibly free an open stateid
2978 * Returns NFS_OK if recovery for this stateid is now finished.
2984 nfs4_stateid *stateid = &state->open_stateid;
2990 status = nfs41_test_and_free_expired_stateid(server, stateid, cred);
2994 stateid->type = NFS4_INVALID_STATEID_TYPE;
3342 if (nfs4_copy_delegation_stateid(inode, FMODE_WRITE, &arg->stateid, &delegation_cred)) {
3343 /* Use that stateid */
3352 &arg->stateid, &delegation_cred);
3360 nfs4_stateid_copy(&arg->stateid, &zero_stateid);
3370 trace_nfs4_setattr(inode, &arg->stateid, status);
3395 .stateid = &arg.stateid,
3442 * Update the seqid of an open stateid
3473 * Update the seqid of an open stateid after receiving
3578 .stateid = &calldata->arg.stateid,
3595 res_stateid = &calldata->res.stateid;
3608 if (nfs4_refresh_open_old_stateid(&calldata->arg.stateid,
3616 &calldata->arg.stateid,
3629 nfs_clear_open_stateid(state, &calldata->arg.stateid,
3677 nfs4_sync_open_stateid(&calldata->arg.stateid, state);
3746 * stateid's in the inode.
3783 if (!nfs4_copy_open_stateid(&calldata->arg.stateid, state))
4372 * need to in the size_change case to obtain a stateid.
5377 int nfs4_set_rw_stateid(nfs4_stateid *stateid,
5382 return nfs4_select_rw_stateid(ctx->state, fmode, l_ctx, stateid, NULL);
5386 static bool nfs4_stateid_is_current(nfs4_stateid *stateid,
5393 /* If the current stateid represents a lost lock, then exit */
5396 return nfs4_stateid_match(stateid, &_current_stateid);
5423 .stateid = &hdr->args.stateid,
5443 nfs4_stateid_is_current(&args->stateid,
5520 if (nfs4_set_rw_stateid(&hdr->args.stateid, hdr->args.context,
5539 .stateid = &hdr->args.stateid,
5561 nfs4_stateid_is_current(&args->stateid,
6228 nfs4_stateid_copy(&arg.stateid, &zero_stateid);
6547 nfs4_stateid stateid;
6566 .stateid = &data->stateid,
6588 data->args.stateid,
6597 if (!nfs4_refresh_delegation_stateid(&data->stateid, data->inode))
6598 nfs4_stateid_seqid_inc(&data->stateid);
6618 nfs_delegation_mark_returned(data->inode, data->args.stateid);
6673 static int _nfs4_proc_delegreturn(struct inode *inode, const struct cred *cred, const nfs4_stateid *stateid, int issync)
6702 data->args.stateid = &data->stateid;
6707 nfs4_stateid_copy(&data->stateid, stateid);
6748 int nfs4_proc_delegreturn(struct inode *inode, const struct cred *cred, const nfs4_stateid *stateid, int issync)
6754 err = _nfs4_proc_delegreturn(inode, cred, stateid, issync);
6755 trace_nfs4_delegreturn(inode, stateid, err);
6826 * Update the seqid of a lock stateid after receiving
6896 nfs4_stateid_copy(&p->arg.stateid, &lsp->ls_stateid);
6916 .stateid = &calldata->arg.stateid,
6926 &calldata->res.stateid))
6932 &calldata->arg.stateid,
6937 if (nfs4_sync_lock_stateid(&calldata->arg.stateid,
6942 if (nfs4_refresh_lock_old_stateid(&calldata->arg.stateid,
7197 nfs4_stateid_copy(&lsp->ls_stateid, &data->res.stateid);
7199 } else if (!nfs4_update_lock_stateid(lsp, &data->res.stateid))
7320 trace_nfs4_set_lock(fl, state, &data->res.stateid, cmd, ret);
7634 int nfs4_lock_delegation_recall(struct file_lock *fl, struct nfs4_state *state, const nfs4_stateid *stateid)
7648 return nfs4_handle_delegation_recall_error(server, state, stateid, fl, err);
8703 dfprintk(MOUNT, " stateid mode enabled\n");
9659 exception->stateid = NULL;
9705 /* If the open stateid was bad, then recover it. */
9707 !nfs4_stateid_match_other(&lgp->args.stateid, &lo->plh_stateid)) {
9710 exception->stateid = &lgp->args.stateid;
9804 &lgp->res.stateid,
9847 if (nfs4_layout_refresh_old_stateid(&lrp->args.stateid,
9874 pnfs_layoutreturn_free_lsegs(lo, &lrp->args.stateid, &lrp->args.range,
9875 lrp->res.lrs_present ? &lrp->res.stateid : NULL);
9932 trace_nfs4_layoutreturn(lrp->args.inode, &lrp->args.stateid, status);
10082 trace_nfs4_layoutcommit(data->args.inode, &data->args.stateid, status);
10248 nfs4_stateid *stateid,
10253 .stateid = stateid,
10267 dprintk("NFS call test_stateid %p\n", stateid);
10301 * @stateid: state ID to test
10304 * Returns NFS_OK if the server recognizes that "stateid" is valid.
10309 nfs4_stateid *stateid,
10317 err = _nfs41_test_stateid(server, stateid, cred);
10370 * @stateid: state ID to release
10377 const nfs4_stateid *stateid,
10401 dprintk("NFS call free_stateid %p\n", stateid);
10406 nfs4_stateid_copy(&data->args.stateid, stateid);