Date: Wed, 23 Oct 2002 13:50:32 -0700 (PDT) From: Nate Lawson <nate@root.org> To: John Baldwin <jhb@FreeBSD.org> Cc: Terry Lambert <tlambert2@mindspring.com>, current@FreeBSD.ORG, Vitaly Markitantov <vm@dics.com.ua>, Sheldon Hearn <sheldonh@starjuice.net> Subject: Re: smbfs broken? Message-ID: <Pine.BSF.4.21.0210231348310.66216-100000@root.org> In-Reply-To: <XFMail.20021023143646.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0210231348310.66216-100000>
