Re: JFFS2 mount time

Artem B. Bityuckiy
2004-10-21T07:16:35Z

> You are right, there is a small change which is really important (and
> will be ready very soon) to extend jffs2_mark_node_obsolete() to mark
> not only the node but also its entry in the summary.
Unfortunately, you can not mark entries as obsoleted in your summary
node in case of NAND.

If you write your summary only for *full* blocks, you will not need to
mark entries obsoleted, even if you have NOR flash (but you can on NOR).
The partially filled blocks must not have the summary node (you can
introduce special marker and write it to OOB of the last page of
NAND/last word of sector on NOR which tells if there is the summary node
present).

So, fully filled block will have summary and will be scanned very
quickly, partially filled ones will have no summary and will be fully
scanned, free blocks will have cleanmarkers and will not be scanned,
other blocks will be either erased or considered free.

>
> Any other improvement can be done later, because after it the filesystem
> will be always coherent, because we write summary only at the of the
> erasy blocks, when it is fully "finished" - so if there is a summary
> somewhere we will not need to extend it, only to mark the obscolated nodes.
Yes, nice, but why do you need to mark obsoleted nodes in summary ???
When you insert node to the fragtree or dirents to the list, JFFS2 code
will detect obsoleted nodes automatically, no need to mark them physically.

>
> We also plan in the near future to implement the ability of generating
> summary dinamically when the filesystem finishes an erase block - which
> keep this "fast mount time" permament.
This would be perfect.

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