:When copying over (FreeBSD client) the multipatch from a Linux (2.2.11)
:box before the patch I got this garbage in the file, -current as of 4am
:this morning. gzip'ed version has bad crc's. Went the other way and it
:worked fine (Linux client), this is v2 via amd.
:
:...
:Update: after reboot with new kernel I get the same thing. It's
:reproducible. It doesn't happen between linux boxen and doesn't happen
:on loopback mounts.
:
:-Rob
Same thing before and after the patch, so the patch itself is not the
problem? Then this is a preexisting bug of some sort.
Hmm. The question is how to focus on the bug. The FreeBSD 'cp' command
uses mmap(). On the linux box 'cp' the file to a different name and then
try using 'cat' on the freebsd client to read it, redirected to a
localfile. Then see if the local file is corrupted. Copy the file to
a different name on the linux box again, and this time use 'cp' on the
freebsd box to see if you get the corruption. ( the act of copying the
file on the linux box to a different name removes any possibility of
it being already-cached on the freebsd client when we run our test ).
linux> cp multipatch-1.diff test1
fbsd> cat <remotelinuxbox>/test1 local1
fbsd> (check for corruption in local1)
linux> cp multipatch-1.diff test2
fbsd> cp <remotelinuxbox>/test2 local2
fbsd> (check for corruption in local2)
If the corruption occurs with 'cp' but not 'cat' then we know it has
something to do with mmap. If it occurs with both commands then the
corruption may be a bug on the linux server.
If you can repeat the corruption using the above test the next step is
to try to determine whether the bug is in the linux server or the freebsd
client. I kinda suspect the linux box because there are no cache
interaction issues w/ the freebsd box if the client is simply reading the
file.
-Matt
Matthew Dillon
<[EMAIL PROTECTED]>
:+ if (vp->v_object &&
:+ (vp->v_object->flags & OBJ_MIGHTBEDIRTY)) {
:
:^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
:^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
:^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
:^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
:^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
:^@^@^@^@^@^@^@^@requested range. Note: we are assuming that
:
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message