I use yaffs2 (git it Jul 11) with linux 2.6.32. But if I test many time about power fail shut down, and I found that some file is change(I use md5 to check every file).
My partions is :
/dev/mtdblock4 44.0M 9.7M 34.3M 22% /mnt
I test it to use watchdog reboot Random restart. (same as power fail or shut down).
My yaffs2 log:
cat /proc/yaffs
Multi-version YAFFS built:Jul 18 2013 12:37:18
Device 0 "filesystem2"
start_block.......... 0
end_block............ 351
total_bytes_per_chunk 2048
use_nand_ecc......... 1
no_tags_ecc.......... 0
is_yaffs2............ 1
inband_tags.......... 0
empty_lost_n_found... 1
disable_lazy_load.... 0
disable_bad_block_mrk 0
refresh_period....... 500
n_caches............. 10
n_reserved_blocks.... 5
always_check_erased.. 0
block count by state
0:0 1:0 2:0 3:283 4:1
5:67 6:0 7:0 8:0 9:1
max file size....... 549755811840
data_bytes_per_chunk. 2048
chunk_grp_bits....... 0
chunk_grp_size....... 1
n_erased_blocks...... 283
blocks_in_checkpt.... 0
n_tnodes............. 427
n_obj................ 163
n_free_chunks........ 18149
n_page_writes........ 128
n_page_reads......... 4400
n_erasures........... 3
n_gc_copies.......... 122
all_gcs.............. 25
passive_gc_count..... 25
oldest_dirty_gc_count 1
n_gc_blocks.......... 1
bg_gcs............... 1
n_retried_writes..... 0
n_retired_blocks..... 0
n_ecc_fixed.......... 0
n_ecc_unfixed........ 0
n_tags_ecc_fixed..... 0
n_tags_ecc_unfixed... 0
cache_hits........... 0
n_deleted_files...... 0
n_unlinked_files..... 1
refresh_count........ 1
n_bg_deletions....... 0
tags_used............ 0
summary_used......... 0
My kernel config is:
CONFIG_YAFFS_FS=y
CONFIG_YAFFS_YAFFS1=y
# CONFIG_YAFFS_9BYTE_TAGS is not set
# CONFIG_YAFFS_DOES_ECC is not set
CONFIG_YAFFS_YAFFS2=y
CONFIG_YAFFS_AUTO_YAFFS2=y
# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set
# CONFIG_YAFFS_ALWAYS_CHECK_CHUNK_ERASED is not set
# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set
# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set
# CONFIG_YAFFS_DISABLE_BACKGROUND is not set
# CONFIG_YAFFS_DISABLE_BAD_BLOCK_MARKING is not set
CONFIG_YAFFS_XATTR=y
My embed board can't lose any data, so there is any method to avoid lose data ? Any config to help this under linux ?
Now, I create some backup partion to restore it, But I don't want to do this that If I can find that why yaffs2 lose data?
-
BR's
Gongfen Qiu