Hi All, The initial value of erase_ok in function yaffs_write_new_chunk (git hash: 34292b4, yaffs_guts.c line 497) is 0, which is YAFFS_FAIL, so any write failure in page other than fist page will be treated as an unclean erase. I think this is different from the expected logic. This could be a potential problem because a block is expected to be retired immediately if WRITE operation fails. Continue using such a block may lead to content corruption. Let me confirm my understand of the logic is correct: if( first page ) if( not erased_ok ) skip block fi fi write page if( first page ) verify write fi if( write failed ) if ( erased_ok ) <== eased_ok is by default false, and will only be updated in first page retire block else skip block fi fi regards, Peter