]> Pileus Git - ~andy/linux/blobdiff - fs/nfsd/nfs4xdr.c
nfsd4: cleanup and consolidate seqid_mutating_err
[~andy/linux] / fs / nfsd / nfs4xdr.c
index 78c792fb59a877823db68f67cc9f20467adafe12..04ad9a2ca3d04b08cf0f11757526163928a0c0fe 100644 (file)
@@ -1623,18 +1623,6 @@ static void write_cinfo(__be32 **p, struct nfsd4_change_info *c)
                                                                \
        save = resp->p;
 
-static bool seqid_mutating_err(__be32 err)
-{
-       /* rfc 3530 section 8.1.5: */
-       return  err != nfserr_stale_clientid &&
-               err != nfserr_stale_stateid &&
-               err != nfserr_bad_stateid &&
-               err != nfserr_bad_seqid &&
-               err != nfserr_bad_xdr &&
-               err != nfserr_resource &&
-               err != nfserr_nofilehandle;
-}
-
 /*
  * Routine for encoding the result of a "seqid-mutating" NFSv4 operation.  This
  * is where sequence id's are incremented, and the replay cache is filled.
@@ -1643,7 +1631,7 @@ static bool seqid_mutating_err(__be32 err)
  */
 
 #define ENCODE_SEQID_OP_TAIL(stateowner) do {                  \
-       if (seqid_mutating_err(nfserr) && stateowner) {         \
+       if (seqid_mutating_err(ntohl(nfserr)) && stateowner) {  \
                stateowner->so_seqid++;                         \
                stateowner->so_replay.rp_status = nfserr;       \
                stateowner->so_replay.rp_buflen =               \