Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Oct 2002 11:31:50 -0700
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Sheldon Hearn <sheldonh@starjuice.net>
Cc:        Vitaly Markitantov <vm@dics.com.ua>, current@FreeBSD.ORG
Subject:   Re: smbfs broken?
Message-ID:  <3DB6EB16.2025AAE3@mindspring.com>
References:  <3DB664D0.FE0B8018@mindspring.com> <XFMail.20021023105107.jhb@FreeBSD.org> <20021023152144.GA10351@iron.del.local> <20021023160014.GM661@starjuice.net>

next in thread | previous in thread | raw e-mail | index | archive | help
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 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?3DB6EB16.2025AAE3>