[PATCH] knfsd: fix return value for writes to some files in 'nfsd' filesystem
authorNeilBrown <neilb@suse.de>
Wed, 14 Feb 2007 08:33:11 +0000 (00:33 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Wed, 14 Feb 2007 16:09:53 +0000 (08:09 -0800)
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 <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/nfsd/nfsctl.c

index eedf2e3990a9a8f3d0bdad85faa119f4eef4ef97..71c686dc7257140f3c12c7cd0549d93af3f48816 100644 (file)
@@ -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;
        }