aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfsd/nfs4xdr.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfsd/nfs4xdr.c')
-rw-r--r--fs/nfsd/nfs4xdr.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
index 91fb171d2ace..4c4146350236 100644
--- a/fs/nfsd/nfs4xdr.c
+++ b/fs/nfsd/nfs4xdr.c
@@ -1210,16 +1210,15 @@ nfsd4_decode_compound(struct nfsd4_compoundargs *argp)
1210 save = resp->p; 1210 save = resp->p;
1211 1211
1212/* 1212/*
1213 * Routine for encoding the result of a 1213 * Routine for encoding the result of a "seqid-mutating" NFSv4 operation. This
1214 * "seqid-mutating" NFSv4 operation. This is 1214 * is where sequence id's are incremented, and the replay cache is filled.
1215 * where seqids are incremented, and the 1215 * Note that we increment sequence id's here, at the last moment, so we're sure
1216 * replay cache is filled. 1216 * we know whether the error to be returned is a sequence id mutating error.
1217 */ 1217 */
1218 1218
1219#define ENCODE_SEQID_OP_TAIL(stateowner) do { \ 1219#define ENCODE_SEQID_OP_TAIL(stateowner) do { \
1220 if (seqid_mutating_err(nfserr) && stateowner) { \ 1220 if (seqid_mutating_err(nfserr) && stateowner) { \
1221 if (stateowner->so_confirmed) \ 1221 stateowner->so_seqid++; \
1222 stateowner->so_seqid++; \
1223 stateowner->so_replay.rp_status = nfserr; \ 1222 stateowner->so_replay.rp_status = nfserr; \
1224 stateowner->so_replay.rp_buflen = \ 1223 stateowner->so_replay.rp_buflen = \
1225 (((char *)(resp)->p - (char *)save)); \ 1224 (((char *)(resp)->p - (char *)save)); \
@@ -1367,9 +1366,9 @@ nfsd4_encode_fattr(struct svc_fh *fhp, struct svc_export *exp,
1367 if ((buflen -= 4) < 0) 1366 if ((buflen -= 4) < 0)
1368 goto out_resource; 1367 goto out_resource;
1369 if (exp->ex_flags & NFSEXP_NOSUBTREECHECK) 1368 if (exp->ex_flags & NFSEXP_NOSUBTREECHECK)
1370 WRITE32(NFS4_FH_VOLATILE_ANY); 1369 WRITE32(NFS4_FH_PERSISTENT);
1371 else 1370 else
1372 WRITE32(NFS4_FH_VOLATILE_ANY|NFS4_FH_VOL_RENAME); 1371 WRITE32(NFS4_FH_PERSISTENT|NFS4_FH_VOL_RENAME);
1373 } 1372 }
1374 if (bmval0 & FATTR4_WORD0_CHANGE) { 1373 if (bmval0 & FATTR4_WORD0_CHANGE) {
1375 /* 1374 /*