On Fri, 2006-09-01 at 09:27 +1200, Charles Manning wrote:
> >
> > This is a too obvious fault so I'm wondering if its deliberate:
> >
> > The structure 'yaffs_ExtendedTags' has 16 unsigned fields
> > (64bytes) and 2 enum fields (eccResult & extraObjectType).
> > On a 32bit processor this comes down to a total of 72 bytes
> > while all the tag/spare bytes must fit into a 64byte space.
>
> Extended tags are not written to NAND, they are packed into a suitable
> structure for writing to NAND.(see yaffs_PackedTags2 and friends)
Indeed. This is pretty cool because it affords you greater flexibility
when you want to hack up the on-device representation and not affect how
YAFFS stores the meta-data internally for a mounted filesystem. In fact,
I've had to hack at this a number of times in the past. Useful stuff :-)
Jon.