[Bug 16165] Wrong data returned on read after write if file size was changed with ftruncate before

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: bugzilla-daemon
Date: Friday, June 18, 2010 - 8:30 am

https://bugzilla.kernel.org/show_bug.cgi?id=16165





--- Comment #12 from Eric Sandeen <sandeen@redhat.com>  2010-06-18 15:30:13 ---
Can those who can reproduce this test this patch from mingming?

When unaligned DIO writes, skip zero out the block if the buffer is marked
unwritten. That means there is an asynconous direct IO (append or fill the
hole)
still pending.

Signed-off-by: Mingming Cao <cmm@us.ibm.com>
---
 fs/direct-io.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Index: linux-git/fs/direct-io.c
===================================================================
--- linux-git.orig/fs/direct-io.c    2010-05-07 15:42:22.855033403 -0700
+++ linux-git/fs/direct-io.c    2010-05-07 15:44:17.695007770 -0700
@@ -740,7 +740,8 @@
     struct page *page;

     dio->start_zero_done = 1;
-    if (!dio->blkfactor || !buffer_new(&dio->map_bh))
+    if (!dio->blkfactor || !buffer_new(&dio->map_bh)
+        || buffer_unwritten(&dio->map_bh))
         return;

     dio_blocks_per_fs_block = 1 << dio->blkfactor;

-- 
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[Bug 16165] Wrong data returned on read after write if fil ..., bugzilla-daemon, (Fri Jun 18, 8:30 am)