diff options
author | Benny Halevy <benny@tonian.com> | 2012-02-16 22:57:17 +0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2012-02-18 03:38:53 +0400 |
commit | d24433cdc91c0ed15938d2a6ee9e3e1b00fcfaa3 (patch) | |
tree | 7e8d0b0f71f9cc11bc5ac95694532f1759f30851 /include/linux/nfs4.h | |
parent | 03cfb42025a16dc45195dbdd6d368daaa8367429 (diff) | |
download | linux-d24433cdc91c0ed15938d2a6ee9e3e1b00fcfaa3.tar.xz |
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.h | 15 |
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 { |