JFFS2 SUMMARY nodes aren't working

Josh Boyer jwboyer at linux.vnet.ibm.com
Mon Mar 26 10:02:16 EDT 2007


On Mon, 2007-03-26 at 15:16 +0200, Joakim Tjernlund wrote:
> On Mon, 2007-03-26 at 07:37 -0500, Josh Boyer wrote:
> > On Fri, 2007-03-23 at 18:24 +0100, Joakim Tjernlund wrote: 
> > > 
> > > I found that an all empty FS took about the same time to mount
> > > which I find very strange.
> > > 
> > > Looking into the code in scan.c I found that even though I have
> > > cleanmarkers in all EB:s, JFFS2 still scans the whole EB. Do
> > > you really need to scan the whole area after the cleanmarker?
> > > Should be enough to only check a few words after the clean marker
> > > and if that is 0xffffffff then assume that the EB is clean
> > > since it had a valid clean marker at the beginning.
> > 
> > No,  you can't just read a few words.  On some flash, the cleanmarker
> > cannot be marked invalid in place so you still need to scan the rest of
> > the block.  Sucks.
> 
> Not quite true, for the non XIP case you don't read more than
> EMPTY_SCAN_SIZE(c->sector_size) before declaring it free.
> 
> JFFS2 has relied on this behavior in 2.4 and I see no reason to
> change that.

Well, yes you're right.  Too early in the morning for me to be emailing.

But now I'm confused.  Are you running with XIP or no?  If not, then you
shouldn't be hitting this issue from what I can tell.  The check below
the code you quoted earlier explicitly looks to see if the first node
found is a cleanmarker and then returns.

I'm confused how you're hitting this issue unless you have XIP turned
on.

josh





More information about the linux-mtd mailing list