[Yaffs] Checkpoint and robustness improvements

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: Charles Manning
Date:  
To: yaffs
Subject: [Yaffs] Checkpoint and robustness improvements
Hi all

I have just made some check ins that implement a set of improvements. YYes, I
would have liked to check these in as a group of change sets, but that is
just not what happened.

A brief summary of the main points:
1) Improvement to various checking and problem handling in checkpointing that
was causing failures under certain scenarios.
2) Adding a checksum to the checkpointing.
3) Better handling of memory allocation failures.
4) Addition of far more extensive verification code. See below.
5) Addition of mount-time control switches. See below.

I hope nothing was broken in the process.

The extra verification can be controlled with two trace flags: verify and
verify_nand (or use verify_all to turn them both on). The verification does
significant cross checking to ensure that the run-time state is correct.
Running with verification on, particularly verify_nand does slow things.

There are now extra mount options that can be used to control the use of 
checkpointing and the yaffs internal cache:
no-checkpoint-read   don't read a checkpoint if it exists (forces a rescan)
no-checkpoint-write   don't write a checkpoint
no-checkpoint           both of the above
no-cache                  no internbalcache


The main purpose of these options is to facilitate debugging.

Now on to a whole lot more things...

-- CHarles