[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 231404a74728642de0a90a24dcd08a5a2caca417..605ea6b0b4738247b5c6d34ec00a05c20e2899ee 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;
 }