[JFFS2] Return 0, not number of bytes written, for success at commit_write
authorTodd Poynor <tpoynor@mvista.com>
Tue, 18 Oct 2005 23:29:38 +0000 (00:29 +0100)
committerThomas Gleixner <tglx@mtd.linutronix.de>
Sun, 6 Nov 2005 22:14:16 +0000 (23:14 +0100)
Some callers to block-layer commit_write function treat non-zero return as
error, notably the loopback mount driver sometimes used in conjunction with
JFFS2 on NAND flash for bad block avoidance, etc.  Return zero for success
as do various other commit_write functions.

Signed-off-by: Todd Poynor <tpoynor@mvista.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
fs/jffs2/file.c

index 231404a..605ea6b 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id: file.c,v 1.103 2005/09/07 08:34:54 havasi Exp $
+ * $Id: file.c,v 1.104 2005/10/18 23:29:35 tpoynor Exp $
  *
  */
 
@@ -279,6 +279,6 @@ static int jffs2_commit_write (struct file *filp, struct page *pg,
                ClearPageUptodate(pg);
        }
 
-       D1(printk(KERN_DEBUG "jffs2_commit_write() returning %d\n",writtenlen?writtenlen:ret));
-       return writtenlen?writtenlen:ret;
+       D1(printk(KERN_DEBUG "jffs2_commit_write() returning %d\n",start+writtenlen==end?0:ret));
+       return start+writtenlen==end?0:ret;
 }