Re: [Yaffs] yaffs2 crashes kernel during 'cp'

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Matthias Fuchs
Date:  
To: Charles Manning
CC: yaffs
Subject: Re: [Yaffs] yaffs2 crashes kernel during 'cp'
On Thursday 19 April 2007 21:54, Charles Manning wrote:
> That would suggest to me that somehow the yaffs short op cache is screwed

up.
> The dd's you do:
> #dd if=/dev/zero of=/nand0/test1 bs=2k count=xxx
>
> are chunk aligned which means that you're bypassing the cache.
> If that theory holds, then
> #dd if=/dev/zero of=/nand0/test1 bs=2k count=1000
> will work and it is not a file size issue.

It works.

>
> What happens if you do
> #dd if=/dev/zero of=/nand0/test1 bs=1k count=10

That works, too!
>
> That would force yaffs to use the cache and, I suspect might cause the

crash.

But using a block size bigger or equal to 4k crashes the system:
#dd if=/dev/zero of=/nand0/test1 bs=4k count=10

Exactly 4095 bytes is still ok:
#dd if=/dev/zero of=/nand0/test1 bs=4095 count=10

>
> If this is happening then it is probably because the cache is not being
> allocated correctly and unfortunately there are insufficient checks in place
> to see that the malloc succeeded. There is some stuff I am working on that
> fixes this and other issues but that won't be checked in for a while.
>
> Something else to try would be do look in yaffs_fs.c for where
> dev->nShortOpCaches is assigned and set that to zero. That turns off the
> internal cache.

I did the same tests with internal cache turned off. But it had no impact on
the issue.

Matthias