diff options
Diffstat (limited to 'include/linux/nfs4.h')
| -rw-r--r-- | include/linux/nfs4.h | 21 | 
1 files changed, 20 insertions, 1 deletions
diff --git a/include/linux/nfs4.h b/include/linux/nfs4.h index 76f99e8714f..32345c2805c 100644 --- a/include/linux/nfs4.h +++ b/include/linux/nfs4.h @@ -373,6 +373,22 @@ enum nfsstat4 {  	NFS4ERR_DELEG_REVOKED	= 10087,	/* deleg./layout revoked */  }; +static inline bool seqid_mutating_err(u32 err) +{ +	/* rfc 3530 section 8.1.5: */ +	switch (err) { +	case NFS4ERR_STALE_CLIENTID: +	case NFS4ERR_STALE_STATEID: +	case NFS4ERR_BAD_STATEID: +	case NFS4ERR_BAD_SEQID: +	case NFS4ERR_BADXDR: +	case NFS4ERR_RESOURCE: +	case NFS4ERR_NOFILEHANDLE: +		return false; +	}; +	return true; +} +  /*   * Note: NF4BAD is not actually part of the protocol; it is just used   * internally by nfsd. @@ -394,7 +410,10 @@ enum open_claim_type4 {  	NFS4_OPEN_CLAIM_NULL = 0,  	NFS4_OPEN_CLAIM_PREVIOUS = 1,  	NFS4_OPEN_CLAIM_DELEGATE_CUR = 2, -	NFS4_OPEN_CLAIM_DELEGATE_PREV = 3 +	NFS4_OPEN_CLAIM_DELEGATE_PREV = 3, +	NFS4_OPEN_CLAIM_FH = 4, /* 4.1 */ +	NFS4_OPEN_CLAIM_DELEG_CUR_FH = 5, /* 4.1 */ +	NFS4_OPEN_CLAIM_DELEG_PREV_FH = 6, /* 4.1 */  };  enum opentype4 {  |