It looks like the mtd stuff still is not working right for you.....
> 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 "chunk not found using zero instead" is just a trace item saying
that a chunk of data cannot be found and a chunk -worth of zeros is
being used instead. That's OK if you're reading a part of a file which
does not yet exist (eg. So that some more data can be written at the
end), but obviously is not OK if the data is expected to be there.
>
> 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.
The obj%d filenames are a result of a file coming into existence with no
object header. This will happen when a data chunk is found for a file,
but that file does not exist. These will always end up in lost & found.
GetObjectName does not create a yaffs_Object. GetObjectName is only
called when we're trying to find the name of an object. If there is no
associated chunkId 0 then an obj%d name is created.
In your trace below, watch the obj17104896 birdy. This says that there
is a data chunk with an object id of 17104896. Since a newly erased
YAFFS partition starts allocating objects starting at 257 or so,
incrementing by 1 each time, I would suggest that such a large objectid
is a result of corruption rather than truly reaching this value.
What is almost certainly happening is that the tags are getting
corrupted.
You might like to try Sergey's patch if you have not already done so.
>
> 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
Here
> chunk 69632 byte 753664 seq 268500992 ext.tags eccres 0
> blkbad 0 chused 1 obj 17104896 chunk69632 byte
here
> 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
here
> 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
>
> _______________________________________________
> yaffs mailing list
> yaffs@stoneboat.aleph1.co.uk
> http://stoneboat.aleph1.co.uk/cgi-bin/mailman/listinfo/yaffs
>