[Yaffs-archive] Re: help

Charles Manning manningc2@actrix.gen.nz
Thu, 24 Apr 2003 09:04:06 +1200


On Tuesday 22 April 2003 21:18, liuke(??) wrote:
> hello everyone!
> 	Would you tell me how yaffs and jffs(2) realize their jounals?   Just
> simply by copying pages or nodes? Are there journal files on disk? thank u

There is a doc on this in the CVS that covers this briefly.

Basically, what journaling means in this context is that we update files by 
writing "patch records" to NAND. THus, we never change the file structure so 
the file can never be in a state which is unrecoverable.

YAFFS takes this to the extreme. All data in files is in the form of a data 
pages, tagged with the file id and the position of the data in the file. Thus 
we overwrite a section of a file by writing new pages to NAND and discarding 
the old ones for subsequent garbage collection.

When the file system is re-mounted we read all the tags and reconstruct the 
file structure in trees in RAM. Thus, there is no on-disk file structure data 
to get corrupted.

YAFFS is therefore very robust.

-- CHarles


---------------------------------------------------------------------------------------
This mailing list is hosted by Toby Churchill open software (www.toby-churchill.org).
If mailing list membership is no longer wanted you can remove yourself from the list by 
sending an email to yaffs-request@toby-churchill.org with the text "unsubscribe" 
(without the quotes) as the subject.