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 { |
