Re: [Yaffs] !! Allocator out !!!! problem

Top Page
Attachments:
Message as email
+ (text/plain)
+ (text/html)
Delete this message
Reply to this message
Author: Ken Yu
Date:  
To: YAFFS
Subject: Re: [Yaffs] !! Allocator out !!!! problem
my program infomation:

I write 1MB files use below:

#define KB 1024
filesize = 1;
static char wbuf[KB];

for (i = 0; i < (filesize * KB); i++) {
    if ( write (fd, wbuf, KB) < 0) {
        printf ("Error: cannot write %s\n", test_file);
        return -1;
    }
 }
Yaffs will pop "!! Allocator out !!!! problem"



Another test: I write 1MB using 2KB, It is OK.


filesize = 1;
static char wbuf[2048];

 for (i = 0; i < (filesize * 512); i++) {
     if ( write (fd, wbuf, 2048) < 0) {
          printf ("Error: cannot write %s\n", test_file);
          return -1;
     }
 }



/ # cat /proc/yaffs
Device 0 "nand_nda"
startBlock......... 0
endBlock........... 255
totalBytesPerChunk. 2048
nDataBytesPerChunk. 2048
chunkGroupBits..... 0
chunkGroupSize..... 1
nErasedBlocks...... 247

Best Regards.
Ken


2009/8/20 Ken Yu <>

> I add more information about dev->nErasedBlocks
>
> initial /proc/yaffs:
> / # cat /proc/yaffs
> Device 0 "nand_nda"
> startBlock......... 0
> endBlock........... 255
> totalBytesPerChunk. 2048
> nDataBytesPerChunk. 2048
> chunkGroupBits..... 0
> chunkGroupSize..... 1
> nErasedBlocks...... 256
>
> after I write one 1MB file by open() and write() function:
>
> / # cat /proc/yaffs
> Device 0 "nand_nda"
> startBlock......... 0
> endBlock........... 255
> totalBytesPerChunk. 2048
> nDataBytesPerChunk. 2048
> chunkGroupBits..... 0
> chunkGroupSize..... 1
> nErasedBlocks...... 239
>
> This 1MB file eats 17 blocks ( 17*64*2048 Bytes = 2,228,224 Bytes).
>
> It's queer.
>
>
> I use "cp" command. nErasedBlocks is correct.
>
> / # cp file_1 /mnt/f0/
>
> / # cat /proc/yaffs
> Device 0 "nand_nda"
> startBlock......... 0
> endBlock........... 255
> totalBytesPerChunk. 2048
> nDataBytesPerChunk. 2048
> chunkGroupBits..... 0
> chunkGroupSize..... 1
> nErasedBlocks...... 247
>
>
> Best Regards.
> Ken
>
> On 2009-08-20 02:41, Ken Yu wrote:
> > Hi, all:
> >
> > My OS is linux 2.6.12 and I check out yaffs from cvs yesterday.
> >
> > I cut a mtd partition that is 32MB.
> >
> > /
>