[Yaffs] very simple example of YAFFS2 "forgetting" a file

Michael Arm micharmel at gmail.com
Thu Jan 12 22:00:26 GMT 2006


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



More information about the yaffs mailing list