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>
This commit is contained in:

committed by
J. Bruce Fields

parent
03cfb42025
commit
d24433cdc9
@@ -2849,6 +2849,20 @@ nfsd4_encode_open(struct nfsd4_compoundres *resp, __be32 nfserr, struct nfsd4_op
|
||||
WRITE32(0); /* XXX: is NULL principal ok? */
|
||||
ADJUST_ARGS();
|
||||
break;
|
||||
case NFS4_OPEN_DELEGATE_NONE_EXT: /* 4.1 */
|
||||
switch (open->op_why_no_deleg) {
|
||||
case WND4_CONTENTION:
|
||||
case WND4_RESOURCE:
|
||||
RESERVE_SPACE(8);
|
||||
WRITE32(open->op_why_no_deleg);
|
||||
WRITE32(0); /* deleg signaling not supported yet */
|
||||
break;
|
||||
default:
|
||||
RESERVE_SPACE(4);
|
||||
WRITE32(open->op_why_no_deleg);
|
||||
}
|
||||
ADJUST_ARGS();
|
||||
break;
|
||||
default:
|
||||
BUG();
|
||||
}
|
||||
|
Reference in New Issue
Block a user