From: NeilBrown Add OPEN claim type NFS4_OPEN_CLAIM_DELEGATE_CUR to nfsd4_open(). A delegation stateid and a name are provided. OPEN with O_CREAT is not legal with this claim type; otherwise, use the NFS4_OPEN_CLAIM_NULL code path to lookup the filename to be opened. Signed-off-by: Andy Adamson Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton --- 25-akpm/fs/nfsd/nfs4proc.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletion(-) diff -puN fs/nfsd/nfs4proc.c~nfsd4-support-claim_delegate_cur fs/nfsd/nfs4proc.c --- 25/fs/nfsd/nfs4proc.c~nfsd4-support-claim_delegate_cur 2005-04-07 19:09:55.000000000 -0700 +++ 25-akpm/fs/nfsd/nfs4proc.c 2005-04-07 19:09:55.000000000 -0700 @@ -198,6 +198,11 @@ nfsd4_open(struct svc_rqst *rqstp, struc if (status) goto out; switch (open->op_claim_type) { + case NFS4_OPEN_CLAIM_DELEGATE_CUR: + status = nfserr_inval; + if (open->op_create) + goto out; + /* fall through */ case NFS4_OPEN_CLAIM_NULL: /* * (1) set CURRENT_FH to the file being opened, @@ -220,7 +225,6 @@ nfsd4_open(struct svc_rqst *rqstp, struc if (status) goto out; break; - case NFS4_OPEN_CLAIM_DELEGATE_CUR: case NFS4_OPEN_CLAIM_DELEGATE_PREV: printk("NFSD: unsupported OPEN claim type %d\n", open->op_claim_type); _