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 --- 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); _