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

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Vitaly Wool
Date:  
To: Charles Manning
CC: yaffs
Subject: [Yaffs] Re: [PATCH] treat OOB as a single chunk of oobavail bytes
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