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.
-- Terry
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message