[Yaffs] Re: [PATCH] treat OOB as a single chunk of oobavail bytes

Vitaly Wool vwool at ru.mvista.com
Fri Dec 2 06:11:21 GMT 2005


Hi Charles,

Charles Manning wrote:

>short byteCount is OK. short chunkId limits the file size to 64k  chunks == 
>128MBytes (too small for some systems). short objectId limits the fs to 64k 
>files (probably OK).
>short sequenceNumber is most definitely **not** OK since this is incremented 
>every time a new block is allocated. That would limit the fs usage.
>
>There is also an issue that the tag fields get overloaded with other values to 
>speed scanning. Making the fields too tight will break that. For example, we 
>sometimes stash the whole file size in byteCount. Having file sizes limited 
>to 64k would be a bit depressing. If you use your scheme, please disable all 
>the extraHeader code in yaffs_PackTags2() and yaffs_UnpackTags2(). yaffs2 
>works fine without the extraheader stuff and will just use it if it is 
>available.
>
>I'll think a bit about this, but I think a more compressed packed tags 
>structure could fit in 16 bytes including the ecc on tags and only minimal 
>loss of exta header tags etc.
>
>Perhaps something like the following will work pretty well (but some mods 
>required to the extended header stuff):
>
>typedef struct __attribute__((packed)) {
>    unsigned sequenceNumber;
>    unsigned objectId:24;
>    unsigned colParity:8;
>    unsigned chunkId:24;
>    unsigned lineParity:8;
>    unsigned byteCount:24;
>    unsigned  lineParityPrime:8;
>} yaffs_PackedTags2TagsPart;
>
>  
>
Thanks for your explanations, packed tags being 16 bytes long  work 
quite fine for me.
Anyhing that is not more than 20 is fine. :)

Looking forward to having such an option for yaffs2 to be able to 
implement its support on my target without hacks,

Thanks,
   Vitaly



More information about the yaffs mailing list