diff mbox

[V2] fix type of "offset" in ext4_io_end

Message ID 4B6C3E5C.4080907@redhat.com
State Not Applicable, archived
Headers show

Commit Message

Eric Sandeen Feb. 5, 2010, 3:50 p.m. UTC
tytso@mit.edu wrote:
> On Fri, Jan 29, 2010 at 02:28:23PM -0600, Eric Sandeen wrote:
>> The "offset" member in ext4_io_end holds bytes, not
>> blocks, so ext4_lblk_t is wrong - and too small (u32)
>>
>> This caused the testcase "Possible ext4 data corruption
>> with large files and async I/O" sent by Giel to fail when it
>> wrapped around to 0.
>>
>> Also fix up the type of arguments to
>> ext4_convert_unwritten_extents(), it gets ssize_t from
>> ext4_end_aio_dio_nolock() and ext4_ext_direct_IO()
>>
>> Reported-by: Giel de Nijs <giel@vectorwise.com>
>> Signed-off-by: Eric Sandeen <sandeen@redhat.com>
> 
> So I was going to submit this patch to Linus, but the last two times
> I've run xfsqa ("xfsqa -g quick" and "xfsqa -g auto"), test #126 has
> failed.  If I run the test stand-alone, it passes.  It's a bit of a
> head-scratcher.  I'm currently backing out the patch and trying to do
> an xfsqa -g auto run to make sure this was something that had crept in
> before applying this patch, so this may very well not be this patch
> --- I certainly can't see anything wrong with it.  But I thought I
> would give a heads up....
> 
>       	     	       	       	      	   	- Ted

hrm 126 is a permissions test, I can't imagine it'd be related...

I see it fail on a sorta-stock .32 kernel like this:



What's your failure?

-Eric
--
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
diff mbox

Patch

--- 126.out	2009-08-05 20:19:40.380978986 -0500
+++ 126.out.bad	2010-02-05 09:01:13.088372667 -0600
@@ -5,7 +5,7 @@ 
 w a 002 file owned by (99/99) as user/group(12/100)  PASS
 w a 020 file owned by (99/99) as user/group(200/99)  PASS
 w a 200 file owned by (99/99) as user/group(99/500)  PASS
-r a 004 file owned by (99/99) as user/group(12/100)  PASS
+r a 004 file owned by (99/99) as user/group(12/100)  FAIL
 r a 040 file owned by (99/99) as user/group(200/99)  PASS
 r a 400 file owned by (99/99) as user/group(99/500)  PASS
 r a 000 file owned by (99/99) as user/group(99/99)  FAIL