From owner-freebsd-current Wed Oct 23 13:50:38 2002 Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9347737B406 for ; Wed, 23 Oct 2002 13:50:36 -0700 (PDT) Received: from rootlabs.com (root.org [67.118.192.226]) by mx1.FreeBSD.org (Postfix) with SMTP id 739B743ECD for ; Wed, 23 Oct 2002 13:50:30 -0700 (PDT) (envelope-from nate@rootlabs.com) Received: (qmail 66218 invoked by uid 1000); 23 Oct 2002 20:50:32 -0000 Date: Wed, 23 Oct 2002 13:50:32 -0700 (PDT) From: Nate Lawson To: John Baldwin Cc: Terry Lambert , current@FreeBSD.ORG, Vitaly Markitantov , Sheldon Hearn Subject: Re: smbfs broken? In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Wed, 23 Oct 2002, John Baldwin wrote: > On 23-Oct-2002 Terry Lambert wrote: > > Sheldon Hearn wrote: > >> [client] > >> $ for i in `jot 512 7680`; do > >> cp /smb/urchin/pub/bytes/$i . || break; > >> done > >> cp: ./8145: Bad address > >> > >> If I truss the cp process, I get this: > >> > >> [...] > >> open("/smb/urchin/pub/bytes/8145",0x0,00) = 3 (0x3) > >> open("./8145",0x401,00) = 4 (0x4) > >> mmap(0x0,8145,0x1,0x1,3,0x0) = 671461376 (0x2805b000) > >> > >> I don't have my laptop set up as a serial debugging client now, so > >> that's as far as I can go. :-( > > > > AHA! > > > > The reason an FFS write resulted in an SMBFS read is that > > you had mmap()'ed an SMBFS file, and then wrote a mapped > > but-not-in-core page to the target FFS file. > > > > Knowing that the code involved is in the paging path of the > > SMBFS code is important. > > > > What happens if you: > > > > dd if=/smb/urchin/pub/bytes/8145 of=8145 > > > > ? I expect that it works, no problem. > > > > This localizes the problem to the VOP_GETPAGES that gets hit > > in the SMBFS case. > > Umm, terry. Did you even read all of this thread? He did a > simple cat(1) later which used read(2) and it got an actual > error back from read(2). Also, Sheldon is not the original > submitter of the problem report. cp(1) uses mmap, hence the syscall. -Nate To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message