Hi again, I've got YAFFS working for a while with MTD under Linux 2.4, but suddenly it stopped working, and I can't figure out why. I'm pretty sure it's not an incompatibility problem with MTD since that was fixed a while back. Anyway, the test setup is that I create a small partition, erase it, mount, create one small file, unmount, mount again, and the file is gone. I've enabled complete logging in YAFFS. This is why I set the partition so small, to minimize the log file size, but the same problem occurs with a larger partition as well. I'm hoping somebody might be able to spot the problem real quick just by scanning through the log below. There is one message that is suspicious to me ("Chunk -1 not found zero instead") but may it is the problem and maybe not. The "debug1/debug2" statements are logging code I added around lines 4622/4654 in yaffs_guts.c: { char name[YAFFS_MAX_NAME_LENGTH+1]; yaffs_GetObjectName(in, name, YAFFS_MAX_NAME_LENGTH + 1); T(YAFFS_TRACE_ALWAYS, (TSTR("debug1:(id=%X) -> %p (%s)" TENDSTR),tags.objectId,in,name)); } I noticed that yaffs_GetObjectName is creating a yaffs_Object but is not setting its chunk number, so it stays at -1, apparently permanently. Then when it later goes to look up the file for yaffs_GetObjectName that is why it is setting the name to obj%d. I tried adding a line to set it to tags.chunkId above, but that didn't fix the problem and caused a kernel panic later on, so I guess I don't fully understand what's going on. Anyway, here's the log... sh-2.05a# mount -t yaffs2 /dev/mtdblock/1 /mnt yaffs: dev is 7937 name is "1f:01" yaffs_read_super: Using yaffs2 yaffs_read_super: block size 4096 yaffs: Attempting MTD mount on 31.1, "1f:01" erase c02d1444 read c02d0c1c write c02d0f78 readoob c02d0e74 writeoob c02d1138 block_isbad c02d160c block_markbad c02d166c oobblock 2048 oobsize 64 erasesize 131072 size 4194304 yaffs locking yaffs: yaffs_GutsInitialise() yaffs_ScanBackwards starts intstartblk 1 intendblk 32... nandmtd2_QueryNANDBlock 0 nandmtd2_ReadChunkWithTagsToNAND chunk 0 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 1 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 1 nandmtd2_ReadChunkWithTagsToNAND chunk 64 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 2 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 2 nandmtd2_ReadChunkWithTagsToNAND chunk 128 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 3 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 3 nandmtd2_ReadChunkWithTagsToNAND chunk 192 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 4 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 4 nandmtd2_ReadChunkWithTagsToNAND chunk 256 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 5 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 5 nandmtd2_ReadChunkWithTagsToNAND chunk 320 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 6 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 6 nandmtd2_ReadChunkWithTagsToNAND chunk 384 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 7 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 7 nandmtd2_ReadChunkWithTagsToNAND chunk 448 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 8 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 8 nandmtd2_ReadChunkWithTagsToNAND chunk 512 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 9 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 9 nandmtd2_ReadChunkWithTagsToNAND chunk 576 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 10 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 10 nandmtd2_ReadChunkWithTagsToNAND chunk 640 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 11 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 11 nandmtd2_ReadChunkWithTagsToNAND chunk 704 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 12 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 12 nandmtd2_ReadChunkWithTagsToNAND chunk 768 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 13 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 13 nandmtd2_ReadChunkWithTagsToNAND chunk 832 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 14 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 14 nandmtd2_ReadChunkWithTagsToNAND chunk 896 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 15 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 15 nandmtd2_ReadChunkWithTagsToNAND chunk 960 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 16 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 16 nandmtd2_ReadChunkWithTagsToNAND chunk 1024 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 17 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 17 nandmtd2_ReadChunkWithTagsToNAND chunk 1088 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 18 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 18 nandmtd2_ReadChunkWithTagsToNAND chunk 1152 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 19 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 19 nandmtd2_ReadChunkWithTagsToNAND chunk 1216 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 20 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 20 nandmtd2_ReadChunkWithTagsToNAND chunk 1280 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 21 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 21 nandmtd2_ReadChunkWithTagsToNAND chunk 1344 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 22 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 22 nandmtd2_ReadChunkWithTagsToNAND chunk 1408 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 23 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 23 nandmtd2_ReadChunkWithTagsToNAND chunk 1472 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 24 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 24 nandmtd2_ReadChunkWithTagsToNAND chunk 1536 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 25 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 25 nandmtd2_ReadChunkWithTagsToNAND chunk 1600 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 26 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 26 nandmtd2_ReadChunkWithTagsToNAND chunk 1664 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 27 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 27 nandmtd2_ReadChunkWithTagsToNAND chunk 1728 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 28 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 28 nandmtd2_ReadChunkWithTagsToNAND chunk 1792 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 29 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 29 nandmtd2_ReadChunkWithTagsToNAND chunk 1856 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 30 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 30 nandmtd2_ReadChunkWithTagsToNAND chunk 1920 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 31 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 31 nandmtd2_ReadChunkWithTagsToNAND chunk 1984 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 32 state 3 seq 0 Block empty 0 blocks to be scanned yaffs_ScanBackwards ends yaffs: yaffs_GutsInitialise() done. yaffs_read_super: guts initialised OK yaffs unlocking yaffs_get_inode for object 1 yaffs_read_inode for 1 yaffs locking yaffs_FillInode mode 41b6 uid 0 gid 0 size 2048 count 1 yaffs unlocking yaffs_read_super: got root inode yaffs_read_super: d_alloc_root done yaffs_read_super: done sh-2.05a# echo "1234567890" > /mnt/test.txt yaffs locking yaffs_lookup for 1:test.txt yaffs unlocking yaffs_lookup not found yaffs_create yaffs_mknod: parent object 1 type 3 yaffs_mknod: making oject for test.txt, mode 81a4 dev 0 yaffs locking yaffs_mknod: making file yaffs: Tnodes added Allocated block 1, seq 4097, 31 left nandmtd2_ReadChunkWithTagsToNAND chunk 0 data c4023800 tags c4019cb8 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 Writing chunk 0 tags 261 0 nandmtd2_WriteChunkWithTagsToNAND chunk 0 data c407a800 tags c4019e38 packed tags obj 268435717 chunk -2147483647 byte 0 seq 4097 ext.tags eccres 0 blkbad 0 chused 1 obj 261 chunk0 byte 0 del 0 ser 1 seq 4097 yaffs unlocking yaffs_get_inode for object 261 yaffs_read_inode for 261 yaffs locking yaffs_FillInode mode 81a4 uid 0 gid 0 size 0 count 1 yaffs unlocking yaffs_mknod created object 261 count = 1 yaffs_file_flush object 261 (clean) yaffs locking yaffs unlocking yaffs_prepair_write yaffs_readpage at 00000000, size 00001000 yaffs locking Chunk -1 not found zero instead Chunk -1 not found zero instead yaffs unlocking yaffs_readpage done yaffs_commit_write addr c409a000 pos 0 nBytes 11 yaffs locking yaffs_file_write about to write writing 11 bytesto object 261 at 0 Chunk -1 not found zero instead yaffs_file_write writing 11 bytes, 11 written at 0 yaffs_file_write size updated to 11 bytes, 1 blocks yaffs unlocking yaffs_commit_write returning 0 yaffs_file_flush object 261 (dirty) yaffs locking nandmtd2_ReadChunkWithTagsToNAND chunk 1 data c407a800 tags c4019e08 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 Writing chunk 1 tags 261 1 nandmtd2_WriteChunkWithTagsToNAND chunk 1 data c107f000 tags c4019e88 packed tags obj 261 chunk 1 byte 11 seq 4097 ext.tags eccres 0 blkbad 0 chused 1 obj 261 chunk1 byte 11 del 0 ser 1 seq 4097 nandmtd2_ReadChunkWithTagsToNAND chunk 0 data c407a800 tags 00000000 nandmtd2_ReadChunkWithTagsToNAND chunk 2 data c4023800 tags c4019d6c packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 Writing chunk 2 tags 261 0 nandmtd2_WriteChunkWithTagsToNAND chunk 2 data c407a800 tags c4019eec packed tags obj 268435717 chunk -2147483647 byte 11 seq 4097 ext.tags eccres 0 blkbad 0 chused 1 obj 261 chunk0 byte 0 del 0 ser 2 seq 4097 line 2951 delete of chunk 64 yaffs unlocking yaffs locking yaffs_readdir: sttags 261 0 nandmtd2_WriteChunkWithTagsToNAND chunk 2 data c407a800 tags c4019eec packed tags obj 268435717 chunk -2147483647 byte 11 seq 4097 ext.tags eccres 0 blkbad 0 chused 1 obj 261 chunk0 byte 0 del 0 ser 2 seq 4097 line 2951 delete of chunk 64 yaffs unlocking sh-2.05a# ls -l /mnt yaffs locking yaffs_readdir: starting at 0 yaffs_readdir: entry . ino 1 yaffs_readdir: entry .. ino 1 nandmtd2_ReadChunkWithTagsToNAND chunk 2 data c407a800 tags 00000000 yaffs_readdir: test.txt inode 261 yaffs_readdir: lost+found inode 2 yaffs unlocking yaffs locking yaffs_lookup for 1:lost+found yaffs unlocking yaffs_lookup found 2 yaffs_get_inode for object 2 yaffs_read_inode for 2 yaffs locking yaffs_FillInode mode 41b6 uid 0 gid 0 size 2048 count 1 yaffs unlocking yaffs_loookup dentry yaffs locking yaffs_readdir: starting at 4 yaffs unlocking total 3 drw-rw-rw- 1 root root 2048 Dec 31 17:00 lost+found -rw-r--r-- 1 root root 11 Dec 31 17:01 test.txt sh-2.05a# ls -l /mnt/lost+found yaffs locking yaffs_readdir: starting at 0 yaffs_readdir: entry . ino 2 yaffs_readdir: entry .. ino 1 yaffs unlocking total 0 sh-2.05a# umount /mnt yaffs locking yaffs_readdir: starting at 2 yaffs unlocking yaffs_put_inode: ino 261, count 1 yaffs_put_inode: ino 2, count 1 yaffs_put_inode: ino 1, count 1 yaffs_clear_inode: ino 261, count 0 object exists yaffs locking yaffs unlocking yaffs_clear_inode: ino 2, count 0 object exists yaffs locking yaffs unlocking yaffs_clear_inode: ino 1, count 0 object exists yaffs locking yaffs unlocking yaffs locking yaffs unlocking sh-2.05a# mount -t yaffs2 /dev/mtdblock/1 /mnt ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 23 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 23 nandmtd2_ReadChunkWithTagsToNAND chunk 1472 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 24 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 24 nandmtd2_ReadChunkWithTagsToNAND chunk 1536 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 25 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 25 nandmtd2_ReadChunkWithTagsToNAND chunk 1600 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 26 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 26 nandmtd2_ReadChunkWithTagsToNAND chunk 1664 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 27 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 27 nandmtd2_ReadChunkWithTagsToNAND chunk 1728 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 28 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 28 nandmtd2_ReadChunkWithTagsToNAND chunk 1792 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 29 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 29 nandmtd2_ReadChunkWithTagsToNAND chunk 1856 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 30 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 30 nandmtd2_ReadChunkWithTagsToNAND chunk 1920 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 31 state 3 seq 0 Block empty nandmtd2_QueryNANDBlock 31 nandmtd2_ReadChunkWithTagsToNAND chunk 1984 data 00000000 tags c50c5b98 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 block is bad seq 0 state 3 Block scanning block 32 state 3 seq 0 Block empty 1 blocks to be scanned nandmtd2_ReadChunkWithTagsToNAND chunk 63 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 Allocating from 1 63 nandmtd2_ReadChunkWithTagsToNAND chunk 62 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 61 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 60 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 59 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 58 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 57 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 56 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 55 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 54 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 53 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 52 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 51 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 50 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 49 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 48 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 47 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 46 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 45 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 44 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 43 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 42 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 41 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 40 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 39 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 38 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 37 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 36 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 35 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 34 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 33 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 32 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 31 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 30 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 29 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 28 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 27 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 26 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 25 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 24 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 23 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 22 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 21 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 20 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 19 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 18 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 17 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 16 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 15 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 14 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 13 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 12 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 11 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 10 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 9 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 8 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 7 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 6 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 5 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 4 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 3 data 00000000 tags c50c5e18 packed tags obj -1 chunk -1 byte -1 seq -1 ext.tags eccres 0 blkbad 0 chused 0 obj 0 chunk0 byte 0 del 0 ser 0 seq 0 nandmtd2_ReadChunkWithTagsToNAND chunk 2 data 00000000 tags c50c5e18 packed tags obj 17104896 chunk 69632 byte 753664 seq 268500992 ext.tags eccres 0 blkbad 0 chused 1 obj 17104896 chunk69632 byte 753664 del 0 ser 0 seq 268500992 yaffs: Tnodes added debug1:(id=1050000) -> c50b01b0 (obj17104896) debug2:(id=1050000) -> c50b01b0 (obj17104896) nandmtd2_ReadChunkWithTagsToNAND chunk 1 data 00000000 tags c50c5e18 packed tags obj 17104896 chunk 65536 byte 720896 seq 268500992 ext.tags eccres 0 blkbad 0 chused 1 obj 17104896 chunk65536 byte 720896 del 0 ser 0 seq 268500992 debug1:(id=1050000) -> c50b01b0 (obj17104896) debug2:(id=1050000) -> c50b01b0 (obj17104896) nandmtd2_ReadChunkWithTagsToNAND chunk 0 data 00000000 tags c50c5e18 packed tags obj 17104896 chunk 69632 byte 32768 seq 268500992 ext.tags eccres 0 blkbad 0 chused 1 obj 17104896 chunk69632 byte 32768 del 0 ser 0 seq 268500992 debug1:(id=1050000) -> c50b01b0 (obj17104896) line 2676 delete of chunk 64 debug2:(id=1050000) -> c50b01b0 (obj17104896) yaffs_ScanBackwards ends yaffs: yaffs_GutsInitialise() done. yaffs_read_super: guts initialised OK yaffs unlocking yaffs_get_inode for object 1 yaffs_read_inode for 1 yaffs locking yaffs_FillInode mode 41b6 uid 0 gid 0 size 2048 count 1 yaffs unlocking yaffs_read_super: got root inode yaffs_read_super: d_alloc_root done yaffs_read_super: done sh-2.05a# ls -l /mnt yaffs locking yaffs_readdir: starting at 0 yaffs_readdir: entry . ino 1 yaffs_readdir: entry .. ino 1 yaffs_readdir: lost+found inode 2 yaffs unlocking yaffs locking yaffs_lookup for 1:lost+found yaffs unlocking yaffs_lookup found 2 yaffs_get_inode for object 2 yaffs_read_inode for 2 yaffs locking yaffs_FillInode mode 41b6 uid 0 gid 0 size 2048 count 1 yaffs unlocking yaffs_loookup dentry yaffs locking yaffs_readdir: starting at 3 yaffs unlocking total 2 drw-rw-rw- 1 root root 2048 Dec 31 17:09 lost+found sh-2.05a# ls -l /mnt/lost+found yaffs locking yaffs_readdir: starting at 0 yaffs_readdir: entry . ino 2 yaffs_readdir: entry .. ino 1 yaffs_readdir: obj17104896 inode 17104896 yaffs unlocking yaffs locking yaffs_lookup for 2:obj17104896 yaffs unlocking yaffs_lookup found 17104896 yaffs_get_inode for object 17104896 yaffs_read_inode for 17104896 yaffs locking yaffs_FillInode mode 0 uid 0 gid 0 size 143357952 count 1 init_special_inode: bogus imode (0) yaffs unlocking yaffs_loookup dentry yaffs locking yaffs_readdir: starting at 3 yaffs unlocking total 0 ?--------- 1 root root 143357952 Dec 31 17:09 obj17104896