Re: BUG: mmapfile/writev spurious zero bytes (x86_64/not i386, bisected, reproducable)

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Bron Gondwana <brong@...>
Cc: Linux Kernel Mailing List <linux-kernel@...>, Nick Piggin <npiggin@...>, Andrew Morton <akpm@...>, Rob Mueller <robm@...>
Date: Tuesday, June 17, 2008 - 1:08 pm

On Tue, 17 Jun 2008, Bron Gondwana wrote:

Very interesting. There's certainly something there. 

That said, there's a distracting bug which is visible when doing an strace

 lseek(4, 140333890921392, SEEK_SET)     = -1 EINVAL (Invalid argument)
 write(4, "\0\0\0\0", 4)                 = 4

which is from that

	lseek(newfd, mapbase + offset + size - 8, 0);
	write(newfd, (char *) &zero, 4);

where the addition of "mapbase" is insane. So that will write zeroes to 
the wrong part of the file (offset 64, to be exact). And that will get 
overwritten by the next write, making it all look entirely insane.

That said, that bug may be distracting, but it seems to have nothign at 
all to do with the actual problem. The bug seems to happen only when the 
file is not pre-paged in.

Nick?

		Linus
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: BUG: mmapfile/writev spurious zero bytes (x86_64/not i38..., Linus Torvalds, (Tue Jun 17, 1:08 pm)