From: NeilBrown Date: Wed, 14 Feb 2007 08:33:11 +0000 (-0800) Subject: [PATCH] knfsd: fix return value for writes to some files in 'nfsd' filesystem X-Git-Tag: firefly_0821_release~31285 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=8971a1016b9db4164c3c1b47ae1fde2818becf91;p=firefly-linux-kernel-4.4.55.git [PATCH] knfsd: fix return value for writes to some files in 'nfsd' filesystem Most files in the 'nfsd' filesystem are transactional. When you write, a reply is generated that can be read back only on the same 'file'. If the reply has zero length, the 'write' will incorrectly return a value of '0' instead of the length that was written. This causes 'rpc.nfsd' to give an annoying warning. This patch fixes the test. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/fs/nfsd/nfsctl.c b/fs/nfsd/nfsctl.c index eedf2e3990a9..71c686dc7257 100644 --- a/fs/nfsd/nfsctl.c +++ b/fs/nfsd/nfsctl.c @@ -123,7 +123,7 @@ static ssize_t nfsctl_transaction_write(struct file *file, const char __user *bu return PTR_ERR(data); rv = write_op[ino](file, data, size); - if (rv>0) { + if (rv >= 0) { simple_transaction_set(file, rv); rv = size; }