aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/nfs4.h
diff options
context:
space:
mode:
authorBenny Halevy <benny@tonian.com>2012-02-16 20:57:17 +0200
committerJ. Bruce Fields <bfields@redhat.com>2012-02-17 18:38:53 -0500
commitd24433cdc91c0ed15938d2a6ee9e3e1b00fcfaa3 (patch)
tree7e8d0b0f71f9cc11bc5ac95694532f1759f30851 /include/linux/nfs4.h
parentNFSD: Clean up the test_stateid function (diff)
downloadlinux-dev-d24433cdc91c0ed15938d2a6ee9e3e1b00fcfaa3.tar.xz
linux-dev-d24433cdc91c0ed15938d2a6ee9e3e1b00fcfaa3.zip
nfsd41: implement NFS4_SHARE_WANT_NO_DELEG, NFS4_OPEN_DELEGATE_NONE_EXT, why_no_deleg
Respect client request for not getting a delegation in NFSv4.1 Appropriately return delegation "type" NFS4_OPEN_DELEGATE_NONE_EXT and WND4_NOT_WANTED reason. [nfsd41: add missing break when encoding op_why_no_deleg] Signed-off-by: Benny Halevy <bhalevy@tonian.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'include/linux/nfs4.h')
-rw-r--r--include/linux/nfs4.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/include/linux/nfs4.h b/include/linux/nfs4.h
index 32345c2805c0..8cdde4d1fad8 100644
--- a/include/linux/nfs4.h
+++ b/include/linux/nfs4.h
@@ -441,7 +441,20 @@ enum limit_by4 {
enum open_delegation_type4 {
NFS4_OPEN_DELEGATE_NONE = 0,
NFS4_OPEN_DELEGATE_READ = 1,
- NFS4_OPEN_DELEGATE_WRITE = 2
+ NFS4_OPEN_DELEGATE_WRITE = 2,
+ NFS4_OPEN_DELEGATE_NONE_EXT = 3, /* 4.1 */
+};
+
+enum why_no_delegation4 { /* new to v4.1 */
+ WND4_NOT_WANTED = 0,
+ WND4_CONTENTION = 1,
+ WND4_RESOURCE = 2,
+ WND4_NOT_SUPP_FTYPE = 3,
+ WND4_WRITE_DELEG_NOT_SUPP_FTYPE = 4,
+ WND4_NOT_SUPP_UPGRADE = 5,
+ WND4_NOT_SUPP_DOWNGRADE = 6,
+ WND4_CANCELLED = 7,
+ WND4_IS_DIR = 8,
};
enum lock_type4 {