From owner-freebsd-current Sun Aug 22 16:24:32 1999 Delivered-To: freebsd-current@freebsd.org Received: from mw4.texas.net (mw4.texas.net [206.127.30.14]) by hub.freebsd.org (Postfix) with ESMTP id 291DD14BDE for ; Sun, 22 Aug 1999 16:24:29 -0700 (PDT) (envelope-from rsnow@lgc.com) Received: from basil.dympna.COM (mnet06-08.sat.texas.net [209.99.48.176]) by mw4.texas.net (2.4/2.4) with ESMTP id SAA23261; Sun, 22 Aug 1999 18:24:04 -0500 (CDT) Received: from lgc.com (IDENT:rsnow@turbo [134.132.228.6]) by basil.dympna.COM (8.9.3/8.8.7) with ESMTP id SAA00930; Sun, 22 Aug 1999 18:23:57 -0500 (CDT) (envelope-from rsnow@lgc.com) Message-ID: <37C0868D.33EDC140@lgc.com> Date: Sun, 22 Aug 1999 18:23:57 -0500 From: Rob Snow X-Mailer: Mozilla 4.61 [en] (X11; I; Linux 2.2.11 i686) X-Accept-Language: en MIME-Version: 1.0 To: Matthew Dillon Cc: Doug , "John S. Dyson" , current@FreeBSD.ORG Subject: Re: Patches available (was Re: NFS HEADS UP) References: <199908222250.PAA77319@apollo.backplane.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG linux> cp multipatch-1.diff test1 fbsd> cat test1 cat: test1: RPC struct is bad fbsd> cp test1 /tmp fbsd> cat test1 + (vp->v_object->flags & OBJ_MIGHTBEDIRTY)) { ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ ^@^@^@^@^@^@^@^@requested range. Note: we are assuming that Doesn't happen between two linux boxen. (Both 2.2.11-NFSv3) -Rob Matthew Dillon wrote: > > :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 /test1 local1 > fbsd> (check for corruption in local1) > > linux> cp multipatch-1.diff test2 > fbsd> cp /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 > > > :+ if (vp->v_object && > :+ (vp->v_object->flags & OBJ_MIGHTBEDIRTY)) { > : > :^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ > :^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ > :^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ > :^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ > :^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ > :^@^@^@^@^@^@^@^@requested range. Note: we are assuming that > : > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-current" in the body of the message To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message