Messages in this thread | | | Date | Tue, 17 Jun 2008 10:08:24 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: BUG: mmapfile/writev spurious zero bytes (x86_64/not i386, bisected, reproducable) |
| |
On Tue, 17 Jun 2008, Bron Gondwana wrote: > > And I appear to have sent the one without the usage comments at the top. > Here they are:
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
| |