Subject: Re: NetBSD/ofppc boots multiuser on Pegasos
To: Simon Burge <simonb@NetBSD.org>
From: =?ISO-8859-1?Q?Jorge_Acereda_Maci=E1?= <jacereda@gmail.com>
List: port-powerpc
Date: 08/22/2006 22:10:42
Simon Burge wrote:
> =?ISO-8859-1?Q?Jorge_Acereda_Maci=E1?= wrote:
> 
> 
>>Simon Burge wrote:
>>
>>
>>>No ideas offhand.  That's a page size which may or may not mean
>>>anything.
>>>
>>>I wonder what happens if you do something like:
>>>
>>>	dd if=/netbsd of=/tmp/foo bs=4k count=1 seek=1
>>>
>>>do you zeros or real data at 0x1000 in /tmp/foo ?  Still, I'm not
>>>sure what that proves either if it works or not...
>>>
>>
>>Interesting. I got two identical chunks at 0x0000 and 0x1000 which are 
>>in fact the data at 0x0000 in /netbsd.
>>
>>Want to hear something really annoying? if I use dd if=/netbsd 
>>of=/tmp/foo instead of cp, I get an exact replica.
> 
> 
> I think cp uses mmap instead of read, but still uses writes normally?
> 
> Maybe try regress/sys/uvm/mmap ?

I have some more information. I compiled a kernel with MFS support and 
the patches that made regress/sys/uvm/mmap pass. cp from NFS to the 
ramdisk (or from ramdisk->ramdisk) works correctly. But NFS->NFS and 
ramdisk->NFS are still broken.

OTOH, copying NFS->NFS using:

cat /bin/ls > /tmp/ls

works correctly.

Interestingly, copying NFS->NFS a 8192 bytes file (or any multiple of 
4096) works fine, while copying a 8191 bytes file yields 4096 bytes of 
correct data plus 4095 zeros.

Any idea?

TIA,
   Jorge Acereda