Lines Matching refs:stateid

387 		nfs4_stateid *stateid,
392 ops->test_and_free_expired(server, stateid, cred);
396 nfs4_stateid *stateid,
399 stateid->type = NFS4_REVOKED_STATEID_TYPE;
400 nfs4_test_and_free_stateid(server, stateid, cred);
404 const nfs4_stateid *stateid,
409 nfs4_stateid_copy(&tmp, stateid);
456 nfs4_recoverable_stateid(const nfs4_stateid *stateid)
458 if (!stateid)
460 switch (stateid->type) {
464 return stateid;
479 const nfs4_stateid *stateid;
487 stateid = nfs4_recoverable_stateid(exception->stateid);
488 if (stateid == NULL && state != NULL)
489 stateid = nfs4_recoverable_stateid(&state->stateid);
504 if (inode != NULL && stateid != NULL) {
506 stateid);
515 stateid);
518 if (stateid != NULL && stateid->type == NFS4_DELEGATION_STATEID_TYPE) {
1428 p->c_arg.stateid = &p->o_res.stateid;
1593 * Check for whether or not the caller may update the open stateid
1594 * to the value passed in by stateid.
1599 * i.e. The stateid seqids have to be initialised to 1, and
1603 const nfs4_stateid *stateid)
1607 if (nfs4_stateid_match_other(stateid, &state->open_stateid)) {
1608 if (nfs4_stateid_is_next(&state->open_stateid, stateid))
1612 /* The server returned a new stateid */
1615 if (stateid->seqid == cpu_to_be32(1))
1634 nfs4_stateid *stateid, fmode_t fmode)
1649 if (stateid == NULL)
1652 if (nfs4_stateid_match_other(stateid, &state->open_stateid) &&
1653 !nfs4_stateid_is_newer(stateid, &state->open_stateid)) {
1658 nfs4_stateid_copy(&state->stateid, stateid);
1659 nfs4_stateid_copy(&state->open_stateid, stateid);
1660 trace_nfs4_open_stateid_update(state->inode, stateid, 0);
1667 nfs4_stateid *stateid, fmode_t fmode)
1670 /* Ignore, if the CLOSE argment doesn't match the current stateid */
1672 nfs_clear_open_stateid_locked(state, stateid, fmode);
1679 const nfs4_stateid *stateid, nfs4_stateid *freeme)
1689 if (nfs_stateid_is_sequential(state, stateid))
1703 * update of the stateid until we are in sequence.
1708 trace_nfs4_open_stateid_update_wait(state->inode, stateid, 0);
1724 !nfs4_stateid_match_other(stateid, &state->open_stateid)) {
1730 nfs4_stateid_copy(&state->stateid, stateid);
1731 nfs4_stateid_copy(&state->open_stateid, stateid);
1732 trace_nfs4_open_stateid_update(state->inode, stateid, status);
1743 * serialise the stateid update
1775 * serialise the stateid update
1778 nfs4_stateid_copy(&state->stateid, deleg_stateid);
1786 nfs4_stateid_copy(&state->stateid, &state->open_stateid);
1823 delegation = &deleg_cur->stateid;
1824 else if (!nfs4_stateid_match_other(&deleg_cur->stateid, delegation))
1828 nfs_state_set_delegation(state, &deleg_cur->stateid, fmode);
1848 const nfs4_stateid *stateid)
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);
1887 nfs4_stateid stateid;
1905 nfs4_stateid_copy(&stateid, &delegation->stateid);
1915 /* Try to update the stateid using the delegation */
1916 if (update_open_stateid(state, NULL, &stateid, fmode))
1991 if (!update_open_stateid(state, &data->o_res.stateid,
2058 if (!update_open_stateid(state, &data->o_res.stateid,
2175 * Check if we need to update the current stateid.
2178 !nfs4_stateid_match(&state->stateid, &state->open_stateid)) {
2181 nfs4_stateid_copy(&state->stateid, &state->open_stateid);
2245 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)
2280 stateid);
2300 struct nfs4_state *state, const nfs4_stateid *stateid)
2310 nfs4_stateid_copy(&opendata->o_arg.u.delegation, stateid);
2329 return nfs4_handle_delegation_recall_error(server, state, stateid, NULL, err);
2348 nfs4_stateid_copy(&data->o_res.stateid, &data->c_res.stateid);
2772 const nfs4_stateid *stateid)
2774 nfs_remove_bad_delegation(state->inode, stateid);
2793 nfs4_stateid *stateid,
2801 nfs4_stateid *stateid,
2806 switch (stateid->type) {
2816 status = nfs41_test_stateid(server, stateid, cred);
2827 nfs41_free_stateid(server, stateid, cred, true);
2834 nfs4_stateid stateid;
2849 nfs4_stateid_copy(&stateid, &delegation->stateid);
2862 status = nfs41_test_and_free_expired_stateid(server, &stateid, cred);
2865 nfs_finish_clear_delegation_stateid(state, &stateid);
2880 nfs4_stateid_match_other(&state->stateid, &tmp))
2887 * nfs41_check_expired_locks - possibly free a lock stateid
2891 * Returns NFS_OK if recovery for this stateid is now finished.
2939 * nfs41_check_open_stateid - possibly free an open stateid
2943 * Returns NFS_OK if recovery for this stateid is now finished.
2949 nfs4_stateid *stateid = &state->open_stateid;
2955 status = nfs41_test_and_free_expired_stateid(server, stateid, cred);
2959 stateid->type = NFS4_INVALID_STATEID_TYPE;
3324 if (nfs4_copy_delegation_stateid(inode, FMODE_WRITE, &arg->stateid, &delegation_cred)) {
3325 /* Use that stateid */
3334 &arg->stateid, &delegation_cred);
3342 nfs4_stateid_copy(&arg->stateid, &zero_stateid);
3352 trace_nfs4_setattr(inode, &arg->stateid, status);
3379 .stateid = &arg.stateid,
3421 * Update the seqid of an open stateid
3452 * Update the seqid of an open stateid after receiving
3557 .stateid = &calldata->arg.stateid,
3575 res_stateid = &calldata->res.stateid;
3588 if (nfs4_refresh_open_old_stateid(&calldata->arg.stateid,
3596 &calldata->arg.stateid,
3609 nfs_clear_open_stateid(state, &calldata->arg.stateid,
3658 nfs4_sync_open_stateid(&calldata->arg.stateid, state);
3728 * stateid's in the inode.
3762 if (!nfs4_copy_open_stateid(&calldata->arg.stateid, state))
4226 * need to in the size_change case to obtain a stateid.
5241 int nfs4_set_rw_stateid(nfs4_stateid *stateid,
5246 return nfs4_select_rw_stateid(ctx->state, fmode, l_ctx, stateid, NULL);
5250 static bool nfs4_stateid_is_current(nfs4_stateid *stateid,
5257 /* If the current stateid represents a lost lock, then exit */
5260 return nfs4_stateid_match(stateid, &_current_stateid);
5287 .stateid = &hdr->args.stateid,
5307 nfs4_stateid_is_current(&args->stateid,
5381 if (nfs4_set_rw_stateid(&hdr->args.stateid, hdr->args.context,
5400 .stateid = &hdr->args.stateid,
5422 nfs4_stateid_is_current(&args->stateid,
6070 nfs4_stateid_copy(&arg.stateid, &zero_stateid);
6402 nfs4_stateid stateid;
6421 .stateid = &data->stateid,
6443 data->args.stateid,
6452 if (!nfs4_refresh_delegation_stateid(&data->stateid, data->inode))
6453 nfs4_stateid_seqid_inc(&data->stateid);
6473 nfs_delegation_mark_returned(data->inode, data->args.stateid);
6528 static int _nfs4_proc_delegreturn(struct inode *inode, const struct cred *cred, const nfs4_stateid *stateid, int issync)
6554 data->args.stateid = &data->stateid;
6560 nfs4_stateid_copy(&data->stateid, stateid);
6601 int nfs4_proc_delegreturn(struct inode *inode, const struct cred *cred, const nfs4_stateid *stateid, int issync)
6607 err = _nfs4_proc_delegreturn(inode, cred, stateid, issync);
6608 trace_nfs4_delegreturn(inode, stateid, err);
6679 * Update the seqid of a lock stateid after receiving
6749 nfs4_stateid_copy(&p->arg.stateid, &lsp->ls_stateid);
6769 .stateid = &calldata->arg.stateid,
6779 &calldata->res.stateid))
6785 &calldata->arg.stateid,
6790 if (nfs4_sync_lock_stateid(&calldata->arg.stateid,
6795 if (nfs4_refresh_lock_old_stateid(&calldata->arg.stateid,
7047 nfs4_stateid_copy(&lsp->ls_stateid, &data->res.stateid);
7049 } else if (!nfs4_update_lock_stateid(lsp, &data->res.stateid))
7172 trace_nfs4_set_lock(fl, state, &data->res.stateid, cmd, ret);
7458 int nfs4_lock_delegation_recall(struct file_lock *fl, struct nfs4_state *state, const nfs4_stateid *stateid)
7472 return nfs4_handle_delegation_recall_error(server, state, stateid, fl, err);
8462 dfprintk(MOUNT, " stateid mode enabled\n");
9460 /* If the open stateid was bad, then recover it. */
9462 !nfs4_stateid_match_other(&lgp->args.stateid, &lo->plh_stateid)) {
9465 exception->stateid = &lgp->args.stateid;
9565 &lgp->res.stateid,
9611 if (nfs4_layout_refresh_old_stateid(&lrp->args.stateid,
9640 pnfs_layoutreturn_free_lsegs(lo, &lrp->args.stateid, &lrp->args.range,
9641 lrp->res.lrs_present ? &lrp->res.stateid : NULL);
9699 trace_nfs4_layoutreturn(lrp->args.inode, &lrp->args.stateid, status);
9846 trace_nfs4_layoutcommit(data->args.inode, &data->args.stateid, status);
10013 nfs4_stateid *stateid,
10018 .stateid = stateid,
10032 dprintk("NFS call test_stateid %p\n", stateid);
10066 * @stateid: state ID to test
10069 * Returns NFS_OK if the server recognizes that "stateid" is valid.
10074 nfs4_stateid *stateid,
10082 err = _nfs41_test_stateid(server, stateid, cred);
10131 * @stateid: state ID to release
10138 const nfs4_stateid *stateid,
10158 dprintk("NFS call free_stateid %p\n", stateid);
10163 nfs4_stateid_copy(&data->args.stateid, stateid);