jffs2 with sync burst mode

Artem B. Bityuckiy dedekind at yandex.ru
Fri Mar 11 06:15:35 EST 2005

Konstantin Kletschke wrote:
 > The "Name CRC failed on node at ..." is away. I populated the root-fs

 > root-fs. No problems. But mounting takes ages :)
How much time does "ages" mean ?
Do you stand that it was faster before?
How large is your flash?
Do you have directories with huge files number in it (say, ~ 10000)?

 > Whats next? :D
Profiling might help.
Try to put fewver files to your flash and test how quck is it mounted.

P.S. :

 > I erased /dev/mtdblock3 with bootloader and
If you erase your flash with flash_eraseall -j it might work a bit faster.

Q: What's -j ?
A: This means that flash_eraseall ought to write special node called 
cleanmarker at the beginning of each block.

Q: Why is this better then to erase using my bootloader?
A: your bootloader probably doesn't write cleanmarkers.

Q: What happens if there are no cleanmarkers?
A: Nothing critical. JFFS2 will just re-erase such blocks and put 
cleanmarkers itself. This is just time wasting.

Q: Why does JFFS2 re-erase blocks which have no cleanmarkers but contain 
all FF (i.e., are erased)?
A: Because it was observed that if the power loss occurs when block is 
almost completely erased, there might be "unstable" bits in it. I.e., 
they are read sometimes as "1" and sometimes as "0" (This effect is 
described in David Woodhouse's page). Cleanmarker does guarantee that 
the block was successfully erased. All FFs don't.

Q: Does this affect mount time?
A: It might, but I guess not very much. The difference is that if there 
is clean marker at the beginning of the block, JFFS2 quickly detects 
that it is free. Otherwise, JFFS2 scans it trying to find some data, 
thus, wasting time.

JFFS2 has problems with mount time but it should be noticable when you 
work with relatively large partitions, which isn't very typical for NOR.

If you are sure that the problem is not your slow flash driver, you 
might try Ferenc's "summary" patch.

Best Regards,
Artem B. Bityuckiy,
St.-Petersburg, Russia.

More information about the linux-mtd mailing list