[Yaffs] YAFFS looses files on remount

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: arvind
Date:  
To: yaffs
Subject: [Yaffs] YAFFS looses files on remount
I am trying to use YAFFS2 with Linux 2.6.11.7 with 256MB STMicro Nand.
I can mount the NAND Partition successfully and copy/read files to it.

But when I unmount, I get several Checkpoint warnings and on Mounting the file
system, I see lots of Checkpoint messages (find next checkpt block: ) and most
with "eccr 0" and some with"eccr 3".

And when I list the files, all the files are missing , with lot of entries
in "lost+found", as if somehow checkpoint index is corrupted.

Any ideas , suggestions ? What am I missing here.

BTW, everything did work fine with JFFS2. But with JFFS2 as expected , with big
NAND filesystems, mounts, first reads, ls etc. become very very slow.

Please see the UNMOUNT and MOUNT messages below.

thanks,

Arvind

******************************************************
mount -t yaffs2 /dev/mtdblock7 nandfs

.. Copy files to nandfs

# umount nandfs
save entry: isCheckpointed 0
checkpt blocks available = 120
checking blocks 1 to 128
allocating checkpt block: erased 125 reserved 5 avail 120 next 1
allocating checkpt block 1
checkpoint wite buffer nand 64(1:0) objid 2 chId 1
Checkpoint write object 1 parent 0 type 3 chunk 0 obj addr c3ca40d8
Checkpoint write object 2 parent 1 type 3 chunk 0 obj addr c3ca4144
Checkpoint write object 3 parent 0 type 3 chunk 0 obj addr c3ca4000
Checkpoint write object 4 parent 0 type 3 chunk 0 obj addr c3ca406c
Checkpoint write object 261 parent 1 type 1 chunk 1053 obj addr c3ca41b0
Checkpoint write object 262 parent 1 type 1 chunk 1069 obj addr c3ca421c
Checkpoint write object 263 parent 1 type 1 chunk 1085 obj addr c3ca4288
Checkpoint write object 264 parent 1 type 1 chunk 1101 obj addr c3ca42f4
Checkpoint write object 265 parent 1 type 1 chunk 1117 obj addr c3ca4360
Checkpoint write object 266 parent 1 type 1 chunk 1133 obj addr c3ca43cc
Checkpoint write object 267 parent 1 type 1 chunk 1149 obj addr c3ca4438
Checkpoint write object 268 parent 1 type 1 chunk 1165 obj addr c3ca44a4
Checkpoint write object 269 parent 1 type 1 chunk 1181 obj addr c3ca4510
Checkpoint write object 270 parent 1 type 1 chunk 1197 obj addr c3ca457c
Checkpoint write object 271 parent 1 type 1 chunk 1213 obj addr c3ca45e8
checkpoint wite buffer nand 65(1:1) objid 2 chId 2
checkpoint byte count 3008
save exit: isCheckpointed 1


# mount -t yaffs2 /dev/mtdblock7 nandfs

yaffs: dev is 32505863 name is "mtdblock7"
yaffs: Attempting MTD mount on 31.7, "mtdblock7"
restore entry: isCheckpointed 0
find next checkpt block: start:  blocks 0 next 1
find next checkpt block: search: block 1 oid 131072 seq 2162689 eccr 3
find next checkpt block: search: block 2 oid 196608 seq 2228223 eccr 3
find next checkpt block: search: block 3 oid 0 seq 0 eccr 0
find next checkpt block: search: block 4 oid 0 seq 0 eccr 0
find next checkpt block: search: block 5 oid 0 seq 0 eccr 0
find next checkpt block: search: block 6 oid 0 seq 0 eccr 0
find next checkpt block: search: block 7 oid 0 seq 0 eccr 0
find next checkpt block: search: block 8 oid 0 seq 0 eccr 0
find next checkpt block: search: block 9 oid 0 seq 0 eccr 0
find next checkpt block: search: block 10 oid 0 seq 0 eccr 0
find next checkpt block: search: block 11 oid 0 seq 0 eccr 0
find next checkpt block: search: block 12 oid 0 seq 0 eccr 0
find next checkpt block: search: block 13 oid 0 seq 0 eccr 0
find next checkpt block: search: block 14 oid 0 seq 0 eccr 0
find next checkpt block: search: block 15 oid 0 seq 0 eccr 0
find next checkpt block: search: block 16 oid 0 seq 0 eccr 0
find next checkpt block: search: block 17 oid 0 seq 0 eccr 0
find next checkpt block: search: block 18 oid 0 seq 0 eccr 0
find next checkpt block: search: block 19 oid 135187 seq 65535 eccr 3
find next checkpt block: search: block 20 oid 18026515 seq 131071 eccr 3
find next checkpt block: search: block 21 oid 0 seq 0 eccr 0
find next checkpt block: search: block 22 oid 0 seq 0 eccr 0
find next checkpt block: search: block 23 oid 0 seq 0 eccr 0
find next checkpt block: search: block 24 oid 0 seq 0 eccr 0
find next checkpt block: search: block 25 oid 0 seq 0 eccr 0
find next checkpt block: search: block 26 oid 0 seq 0 eccr 0
find next checkpt block: search: block 27 oid 0 seq 0 eccr 0
find next checkpt block: search: block 28 oid 0 seq 0 eccr 0
find next checkpt block: search: block 29 oid 0 seq 0 eccr 0
find next checkpt block: search: block 30 oid 0 seq 0 eccr 0
find next checkpt block: search: block 31 oid 0 seq 0 eccr 0
find next checkpt block: search: block 32 oid 0 seq 0 eccr 0
find next checkpt block: search: block 33 oid 0 seq 0 eccr 0
.
.
.
find next checkpt block: search: block 128 oid 0 seq 0 eccr 0
found no more checkpt blocks
checkpoint byte count 0
restore exit: isCheckpointed 0
block 1 is bad
Partially written block 20 being set for retirement
Partially written block 20 being set for retirement
.
.
.
# ls -l nandfs
drw-rw-rw-    1 root     root         2048 Mar  2 20:54 lost+found