davej points out that in this code local variable `ret' is already known to be
positive non-zero, so this test is meaningless.

Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/fs/ext3/inode.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diff -puN fs/ext3/inode.c~unreachable-code-in-ext3_direct_io fs/ext3/inode.c
--- 25/fs/ext3/inode.c~unreachable-code-in-ext3_direct_io	2004-09-03 23:00:05.038678992 -0700
+++ 25-akpm/fs/ext3/inode.c	2004-09-03 23:03:31.141346624 -0700
@@ -1492,9 +1492,14 @@ out_stop:
 			if (end > inode->i_size) {
 				ei->i_disksize = end;
 				i_size_write(inode, end);
-				err = ext3_mark_inode_dirty(handle, inode);
-				if (!ret) 
-					ret = err;
+				/*
+				 * We're going to return a positive `ret'
+				 * here due to non-zero-length I/O, so there's
+				 * no way of reporting error returns from
+				 * ext3_mark_inode_dirty() to userspace.  So
+				 * ignore it.
+				 */
+				ext3_mark_inode_dirty(handle, inode);
 			}
 		}
 		err = ext3_journal_stop(handle);
_