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 76f99e8714f3..32345c2805c0 100644 --- a/include/linux/nfs4.h +++ b/include/linux/nfs4.h | |||
@@ -373,6 +373,22 @@ enum nfsstat4 { | |||
373 | NFS4ERR_DELEG_REVOKED = 10087, /* deleg./layout revoked */ | 373 | NFS4ERR_DELEG_REVOKED = 10087, /* deleg./layout revoked */ |
374 | }; | 374 | }; |
375 | 375 | ||
376 | static inline bool seqid_mutating_err(u32 err) | ||
377 | { | ||
378 | /* rfc 3530 section 8.1.5: */ | ||
379 | switch (err) { | ||
380 | case NFS4ERR_STALE_CLIENTID: | ||
381 | case NFS4ERR_STALE_STATEID: | ||
382 | case NFS4ERR_BAD_STATEID: | ||
383 | case NFS4ERR_BAD_SEQID: | ||
384 | case NFS4ERR_BADXDR: | ||
385 | case NFS4ERR_RESOURCE: | ||
386 | case NFS4ERR_NOFILEHANDLE: | ||
387 | return false; | ||
388 | }; | ||
389 | return true; | ||
390 | } | ||
391 | |||
376 | /* | 392 | /* |
377 | * Note: NF4BAD is not actually part of the protocol; it is just used | 393 | * Note: NF4BAD is not actually part of the protocol; it is just used |
378 | * internally by nfsd. | 394 | * internally by nfsd. |
@@ -394,7 +410,10 @@ enum open_claim_type4 { | |||
394 | NFS4_OPEN_CLAIM_NULL = 0, | 410 | NFS4_OPEN_CLAIM_NULL = 0, |
395 | NFS4_OPEN_CLAIM_PREVIOUS = 1, | 411 | NFS4_OPEN_CLAIM_PREVIOUS = 1, |
396 | NFS4_OPEN_CLAIM_DELEGATE_CUR = 2, | 412 | NFS4_OPEN_CLAIM_DELEGATE_CUR = 2, |
397 | NFS4_OPEN_CLAIM_DELEGATE_PREV = 3 | 413 | NFS4_OPEN_CLAIM_DELEGATE_PREV = 3, |
414 | NFS4_OPEN_CLAIM_FH = 4, /* 4.1 */ | ||
415 | NFS4_OPEN_CLAIM_DELEG_CUR_FH = 5, /* 4.1 */ | ||
416 | NFS4_OPEN_CLAIM_DELEG_PREV_FH = 6, /* 4.1 */ | ||
398 | }; | 417 | }; |
399 | 418 | ||
400 | enum opentype4 { | 419 | enum opentype4 { |