Yaffs used a checkpoint on flash that contains the in-ram state. It's invalidated on any writes and written on sync. In the even the filesystem in not properly unmounted, the next mount detects the missing checkpoint, then rescans NAND to rebuild the in-ram data structures.
Splat-fingered from my iPhone
On Dec 29, 2011, at 8:41 PM, "EzioZhang" <
leilei874@gmail.com> wrote:
> On 2011-12-20 06:08, EzioZhang wrote:
>> as subject,every block has its current state and when some operation is
>> done the state will be changed . In ram ,yaffs uses struct block_info to
>> record it,but if a thunder power loss happened,the state will loss,so
>> when restarts how to determine every block's state? i know yaffs uses
>> query_block_fn() to do this work ,but i'm not sure how to achieve that?
>>
>>
>> ---
>> Best wishes,
>> Ezio
>>
>>
> No replys?
> How to determine block's when start while no information except flash data?
>
>
> _______________________________________________
> yaffs mailing list
> yaffs@lists.aleph1.co.uk
> http://lists.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs