From: Al Viro Date: Thu, 19 Jan 2006 01:43:46 +0000 (-0800) Subject: [PATCH] nfsd4_truncate() bogus return value X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=9246585a117f182d26a5a5c15872c3e8fcf44dd6;p=openwrt%2Fstaging%2Fblogic.git [PATCH] nfsd4_truncate() bogus return value -EINVAL (in host order, no less) is not a good thing to return to client. nfsd4_truncate() returns it in one case and its callers expect nfs_.... from it. AFAICS, it should be nfserr_inval Signed-off-by: Al Viro Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 82c36ccd8b5c..ddee0e0371a6 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -1600,7 +1600,7 @@ nfsd4_truncate(struct svc_rqst *rqstp, struct svc_fh *fh, if (!open->op_truncate) return 0; if (!(open->op_share_access & NFS4_SHARE_ACCESS_WRITE)) - return -EINVAL; + return nfserr_inval; return nfsd_setattr(rqstp, fh, &iattr, 0, (time_t)0); }