[YAFFS] re: Object (file) creation fix seems to have problems -->fixed

Charles Manning manningc2@actrix.gen.nz
Fri, 7 Jan 2005 12:41:46 +1300


Hi YAFFSers

I was able to reproduce the problem consistently with yaffsram and have m=
ade=20
a change that seems to have fixed this. Fix is in CVS (yaffs_guts.c).

I have also changed the tracing a bit in yaffs_fs.c to make all the traci=
ng=20
consistent.

To fix the original problem (over-zealous reuse of inode numbers causing=20
inconsistencies between VFS and YAFFS), I defered the deletion of the obj=
ects=20
in YAFFS until the VFS said that it had forgotten all out them. Part of t=
his=20
also meant unhooking the yaffs objects from the VFS dentries and inodes s=
o=20
that the objects would not be visible to the VFS. There are 4 "hooks" bet=
ween=20
the VFS and YAFFS, but I'd only unhooked 3. This meant that the VFS was s=
till=20
seeing a half-deleted object in some cases.

To fix this, the fourth "unhook" has now been done.

Hope we're all sweet.

-- Charles


On Friday 07 January 2005 08:35, bbosch@iphase.com wrote:
> Charles Manning writes:
>  > Hmmm
>  >
>  > OK it looks like the entry is staying "alive" in the dentry which me=
ans
>  > that the directory is not becoming empty. This causes problems becau=
se
>  > when a look-up is attempted the dentry no longer has an associated i=
node
>  > - this would be a BadThing. The defered deletion might be causing th=
is
>  > problem.
>  >
>  > I'll do some tests here, but if you have a system all set up amd
>  > faulting, it would be interesting to see a trace of yaffs messages a=
s
>  > well as doing "ls -ial" on a broken directory. The -i option then gi=
ves
>  > inode info which helps to tie up the faulting file
>  >
>  >
>  > -- Charles
>
> Charles,
>
> Thanks for the quick response and hints.
>
> Here is the full console log including ls and dmesg output from
> another test run.  I don't have a log daemon configured when the root
> is not YAFFS so I don't think I captured the earliest trace info but
> hopefully there is something useful here.  The response from tar was
> slightly different this time.
>
> I haven't attempted to boil this down or analyze it yet and,
> unfortunately, I will be home entertaining visiting out-of-country
> family until Tuesday.  I will have access to my email, target and host
> from home, so if there are any other quick tests or debug info that
> would be of use before I return, I will be happy to oblige, I just
> won't have much time for deep thought until next week...
>
> Thanks!
>
> --Brad
>
> BusyBox v1.00-rc3 (2004.11.23-17:20+0000) Built-in shell (ash)
> Enter 'help' for a list of built-in commands.
>
> ~ # mount /dev/mtdblock18 /mnt
> cramfs: wrong magic
> yaffs: dev is 7954 name is "1f:12"
> yaffs_read_super: MTD block size 4096
> yaffs_read_super: guts initialised
> yaffs_read_super: got root inode
> yaffs_read_super: d_alloc_root done
> yaffs_read_super: done
> ~ # cat /proc/yaffs
> YAFFS built:Jan  6 2005 12:19:15
> $Id: yaffs_fs.c,v 1.35 2004/10/20 20:12:43 charles Exp $
> $Id: yaffs_guts.c,v 1.37 2004/10/20 20:12:43 charles Exp $
>
> Device yaffs
> startBlock......... 1
> endBlock........... 127
> chunkGroupBits..... 0
> chunkGroupSize..... 1
> nErasedBlocks...... 126
> nTnodesCreated..... 0
> nFreeTnodes........ 0
> nObjectsCreated.... 100
> nFreeObjects....... 97
> nFreeChunks........ 4032
> nPageWrites........ 0
> nPageReads......... 0
> nBlockErasures..... 0
> nGCCopies.......... 0
> garbageCollections. 0
> passiveGCs......... 0
> nRetriedWrites..... 0
> nRetireBlocks...... 0
> eccFixed........... 0
> eccUnfixed......... 0
> tagsEccFixed....... 0
> tagsEccUnfixed..... 126
> cacheHits.......... 0
> nDeletedFiles...... 0
> nUnlinkedFiles..... 0
> nBackgroudDeletions 0
> useNANDECC......... 0
> ~ # tar cf - bin | tar -C /mnt -xvf -
> binyaffs_mknod: making oject for bin, mode 41ed dev 0
>
> bin/[
> bin/ash
> bin/awk
> bin/basenameyaffs_mknod: making oject for board_config, mode 81ed dev 0
>
> bin/board_config
> bin/bootselyaffs_mknod: making oject for bootsel, mode 81ed dev 0
>
> bin/bunzip2yaffs_mknod: making oject for busybox, mode 81ed dev 0
>
> bin/busybox
> bin/bzcat
> bin/cat
> bin/checkbootyaffs_mknod: making oject for checkboot, mode 81ed dev 0
>
> bin/chgrp
> bin/chmod
> bin/chown
> bin/clear
> bin/cmp
> bin/conserveryaffs_mknod: making oject for conserver, mode 81ed dev 0
>
> bin/cp
> bin/cut
> bin/date
> bin/dd
> bin/dev
> bin/deviceyaffs_mknod: making oject for device, mode 81ed dev 0
>
> bin/df
> bin/dirname
> bin/dmesg
> bin/du
> bin/echo
> bin/egrep
> bin/einfoyaffs_mknod: making oject for einfo, mode 81ed dev 0
>
> bin/env
> bin/eraseyaffs_mknod: making oject for erase, mode 81ed dev 0
>
> bin/eraseallyaffs_mknod: making oject for eraseall, mode 81ed dev 0
>
> bin/expr
> bin/false
> bin/fcpyaffs_mknod: making oject for fcp, mode 81ed dev 0
>
> bin/fgrep
> bin/find
> bin/firmware_insyaffs_mknod: making oject for firmware_install, mode 81=
ed
> dev 0 tall
> bin/free
> bin/ftpget
> bin/ftpput
> bin/fw_printenvyaffs_mknod: making oject for fw_printenv, mode 81ed dev=
 0
>
> bin/fw_setenv
> bin/grep
> bin/gunzip
> bin/gzip
> bin/head
> bin/healthMgryaffs_mknod: making oject for healthMgr, mode 81ed dev 0
>
> bin/hexdump
> bin/hostname
> bin/id
> bin/install
> bin/ipmiMgryaffs_mknod: making oject for ipmiMgr, mode 81ed dev 0
>
> bin/ipmiUpgradeyaffs_mknod: making oject for ipmiUpgrade, mode 81ed dev=
 0
>
> bin/kill
> bin/killall
> bin/ln
> bin/lockyaffs_mknod: making oject for lock, mode 81ed dev 0
>
> bin/logger
> bin/loginyaffs_mknod: making oject for login, mode 81ed dev 0
>
> bin/ls
> bin/md5sum
> bin/mkdir
> bin/mknod
> bin/mktemp
> bin/more
> bin/mount
> bin/mtd_debugyaffs_mknod: making oject for mtd_debug, mode 81ed dev 0
>
> bin/mv
> bin/nanddumpyaffs_mknod: making oject for nanddump, mode 81ed dev 0
>
> bin/nandwriteyaffs_mknod: making oject for nandwrite, mode 81ed dev 0
>
> bin/nfsyaffs_mknod: making oject for nfs, mode 81ed dev 0
>
> bin/pidof
> bin/ping
> bin/populateyaffs_mknod: making oject for populate, mode 81ed dev 0
>
> bin/ps
> bin/pwd
> bin/readlink
> bin/reset
> bin/rm
> bin/rmdir
> bin/sed
> bin/sh
> bin/sleep
> bin/sort
> bin/strings
> bin/stty
> bin/sync
> bin/tail
> bin/tar
> bin/tee
> bin/telnet
> bin/test
> bin/tftp
> bin/time
> bin/top
> bin/touch
> bin/tr
> bin/traceroute
> bin/true
> bin/tty
> bin/umount
> bin/uname
> bin/uniq
> bin/unlockyaffs_mknod: making oject for unlock, mode 81ed dev 0
>
> bin/unzip
> bin/uptime
> bin/usleep
> bin/vi
> bin/wc
> bin/wget
> bin/which
> bin/whoami
> bin/xargs
> bin/xinetdyaffs_mknod: making oject for xinetd, mode 81ed dev 0
>
> bin/yes
> bin/zcat
> ~ # tar cf - bin | tar -C /mnt -xvf -
> bin
> bin/[yaffs_put_inode: ino 261, count 1
>
> yaffs_delete_inode: ino 261, count 0 object exists
> yaffs_clear_inode: ino 261, count 0 object exists
> bin/ashyaffs_put_inode: ino 262, count 1
>
> yaffs_delete_inode: ino 262, count 0 object exists
> yaffs_clear_inode: ino 262, count 0 object exists
> bin/awkyaffs_put_inode: ino 263, count 1
>
> yaffs_delete_inode: ino 263, count 0 object exists
> yaffs_clear_inode: ino 263, count 0 object exists
> bin/basenameyaffs_put_inode: ino 264, count 1
>
> yaffs_delete_inode: ino 264, count 0 object exists
> yaffs_clear_inode: ino 264, count 0 object exists
> bin/board_configyaffs_put_inode: ino 265, count 1
>
> yaffs_delete_inode: ino 265, count 0 object exists
> yaffs_clear_inode: ino 265, count 0 object exists
> yaffs_mknod: making oject for board_config, mode 81ed dev 0
> bin/bootselyaffs_put_inode: ino 266, count 1
>
> yaffs_delete_inode: ino 266, count 0 object exists
> yaffs_clear_inode: ino 266, count 0 object exists
> yaffs_mknod: making oject for bootsel, mode 81ed dev 0
> bin/bunzip2yaffs_put_inode: ino 267, count 1
>
> yaffs_delete_inode: ino 267, count 0 object exists
> yaffs_clear_inode: ino 267, count 0 object exists
> bin/busyboxyaffs_put_inode: ino 268, count 1
>
> yaffs_delete_inode: ino 268, count 0 object exists
> yaffs_clear_inode: ino 268, count 0 object exists
> yaffs_mknod: making oject for busybox, mode 81ed dev 0
> bin/bzcatyaffs_put_inode: ino 269, count 1
>
> yaffs_delete_inode: ino 269, count 0 object exists
> yaffs_clear_inode: ino 269, count 0 object exists
> bin/catyaffs_put_inode: ino 270, count 1
>
> yaffs_delete_inode: ino 270, count 0 object exists
> yaffs_clear_inode: ino 270, count 0 object exists
> bin/checkbootyaffs_put_inode: ino 271, count 1
>
> yaffs_delete_inode: ino 271, count 0 object exists
> yaffs_clear_inode: ino 271, count 0 object exists
> yaffs_mknod: making oject for checkboot, mode 81ed dev 0
> bin/chgrpyaffs_put_inode: ino 272, count 1
>
> yaffs_delete_inode: ino 272, count 0 object exists
> yaffs_clear_inode: ino 272, count 0 object exists
> bin/chmodyaffs_put_inode: ino 273, count 1
>
> yaffs_delete_inode: ino 273, count 0 object exists
> yaffs_clear_inode: ino 273, count 0 object exists
> bin/chownyaffs_put_inode: ino 274, count 1
>
> yaffs_delete_inode: ino 274, count 0 object exists
> yaffs_clear_inode: ino 274, count 0 object exists
> bin/clearyaffs_put_inode: ino 275, count 1
>
> yaffs_delete_inode: ino 275, count 0 object exists
> yaffs_clear_inode: ino 275, count 0 object exists
> bin/cmp
> tar: Couldnt remove old file: Directory not empty
> tar: Write Error: Broken pipe
> tar: bin/cp: input/output error -- Broken pipe
> tar: bin/cut: input/output error -- Broken pipe
> tar: bin/date: input/output error -- Broken pipe
> tar: bin/dd: input/output error -- Broken pipe
> tar: bin/dev: input/output error -- Broken pipe
> tar: bin/device: input/output error -- Broken pipe
> tar: bin/df: input/output error -- Broken pipe
> tar: bin/dirname: input/output error -- Broken pipe
> tar: bin/dmesg: input/output error -- Broken pipe
> tar: bin/du: input/output error -- Broken pipe
> tar: bin/echo: input/output error -- Broken pipe
> tar: bin/egrep: input/output error -- Broken pipe
> tar: bin/einfo: input/output error -- Broken pipe
> tar: bin/env: input/output error -- Broken pipe
> tar: bin/erase: input/output error -- Broken pipe
> tar: bin/eraseall: input/output error -- Broken pipe
> tar: bin/expr: input/output error -- Broken pipe
> tar: bin/false: input/output error -- Broken pipe
> tar: bin/fcp: input/output error -- Broken pipe
> tar: bin/fgrep: input/output error -- Broken pipe
> tar: bin/find: input/output error -- Broken pipe
> tar: bin/firmware_install: input/output error -- Broken pipe
> tar: bin/free: input/output error -- Broken pipe
> tar: bin/ftpget: input/output error -- Broken pipe
> tar: bin/ftpput: input/output error -- Broken pipe
> tar: bin/fw_printenv: input/output error -- Broken pipe
> tar: bin/fw_setenv: input/output error -- Broken pipe
> tar: bin/grep: input/output error -- Broken pipe
> tar: bin/gunzip: input/output error -- Broken pipe
> tar: bin/gzip: input/output error -- Broken pipe
> tar: bin/head: input/output error -- Broken pipe
> tar: bin/healthMgr: input/output error -- Broken pipe
> tar: bin/hexdump: input/output error -- Broken pipe
> tar: bin/hostname: input/output error -- Broken pipe
> tar: bin/id: input/output error -- Broken pipe
> tar: bin/install: input/output error -- Broken pipe
> tar: bin/ipmiMgr: input/output error -- Broken pipe
> tar: bin/ipmiUpgrade: input/output error -- Broken pipe
> tar: bin/kill: input/output error -- Broken pipe
> tar: bin/killall: input/output error -- Broken pipe
> tar: bin/ln: input/output error -- Broken pipe
> tar: bin/lock: input/output error -- Broken pipe
> tar: bin/logger: input/output error -- Broken pipe
> tar: bin/login: input/output error -- Broken pipe
> tar: bin/ls: input/output error -- Broken pipe
> tar: bin/md5sum: input/output error -- Broken pipe
> tar: bin/mkdir: input/output error -- Broken pipe
> tar: bin/mknod: input/output error -- Broken pipe
> tar: bin/mktemp: input/output error -- Broken pipe
> tar: bin/more: input/output error -- Broken pipe
> tar: bin/mount: input/output error -- Broken pipe
> tar: bin/mtd_debug: input/output error -- Broken pipe
> tar: bin/mv: input/output error -- Broken pipe
> tar: bin/nanddump: input/output error -- Broken pipe
> tar: bin/nandwrite: input/output error -- Broken pipe
> tar: bin/nfs: input/output error -- Broken pipe
> tar: bin/pidof: input/output error -- Broken pipe
> tar: bin/ping: input/output error -- Broken pipe
> tar: bin/populate: input/output error -- Broken pipe
> tar: bin/ps: input/output error -- Broken pipe
> tar: bin/pwd: input/output error -- Broken pipe
> tar: bin/readlink: input/output error -- Broken pipe
> tar: bin/reset: input/output error -- Broken pipe
> tar: bin/rm: input/output error -- Broken pipe
> tar: bin/rmdir: input/output error -- Broken pipe
> tar: bin/sed: input/output error -- Broken pipe
> tar: bin/sh: input/output error -- Broken pipe
> tar: bin/sleep: input/output error -- Broken pipe
> tar: bin/sort: input/output error -- Broken pipe
> tar: bin/strings: input/output error -- Broken pipe
> tar: bin/stty: input/output error -- Broken pipe
> tar: bin/sync: input/output error -- Broken pipe
> tar: bin/tail: input/output error -- Broken pipe
> tar: bin/tar: input/output error -- Broken pipe
> tar: bin/tee: input/output error -- Broken pipe
> tar: bin/telnet: input/output error -- Broken pipe
> tar: bin/test: input/output error -- Broken pipe
> tar: bin/tftp: input/output error -- Broken pipe
> tar: bin/time: input/output error -- Broken pipe
> tar: bin/top: input/output error -- Broken pipe
> tar: bin/touch: input/output error -- Broken pipe
> tar: bin/tr: input/output error -- Broken pipe
> tar: bin/traceroute: input/output error -- Broken pipe
> tar: bin/true: input/output error -- Broken pipe
> tar: bin/tty: input/output error -- Broken pipe
> tar: bin/umount: input/output error -- Broken pipe
> tar: bin/uname: input/output error -- Broken pipe
> tar: bin/uniq: input/output error -- Broken pipe
> tar: bin/unlock: input/output error -- Broken pipe
> tar: bin/unzip: input/output error -- Broken pipe
> tar: bin/uptime: input/output error -- Broken pipe
> tar: bin/usleep: input/output error -- Broken pipe
> tar: bin/vi: input/output error -- Broken pipe
> tar: bin/wc: input/output error -- Broken pipe
> tar: bin/wget: input/output error -- Broken pipe
> tar: bin/which: input/output error -- Broken pipe
> tar: bin/whoami: input/output error -- Broken pipe
> tar: bin/xargs: input/output error -- Broken pipe
> tar: bin/xinetd: input/output error -- Broken pipe
> tar: bin/yes: input/output error -- Broken pipe
> tar: bin/zcat: input/output error -- Broken pipe
> tar: Error exit delayed from previous errors
> ~ # dmesg
> file_write about to write writing 4096 bytes to object 386 at 389120
> yaffs_file_write writing 4096 bytes, 4096 written at 389120
> yaffs_file_write size updated to 393216 bytes, 768 blocks
> yaffs unlocking
> yaffs_commit_write returning 4096
> yaffs_prepair_write
> yaffs_commit_write addr c23e0000 pos 60000 nBytes 4096
> yaffs locking
> yaffs_file_write about to write writing 4096 bytes to object 386 at 393=
216
> yaffs_file_write writing 4096 bytes, 4096 written at 393216
> yaffs_file_write size updated to 397312 bytes, 776 blocks
> yaffs unlocking
> yaffs_commit_write returning 4096
> yaffs_prepair_write
> yaffs_commit_write addr c241f000 pos 61000 nBytes 4096
> yaffs locking
> yaffs_file_write about to write writing 4096 bytes to object 386 at 397=
312
> yaffs_file_write writing 4096 bytes, 4096 written at 397312
> yaffs_file_write size updated to 401408 bytes, 784 blocks
> yaffs unlocking
> yaffs_commit_write returning 4096
> yaffs_prepair_write
> yaffs_commit_write addr c241e000 pos 62000 nBytes 4096
> yaffs locking
> yaffs_file_write about to write writing 4096 bytes to object 386 at 401=
408
> yaffs_file_write writing 4096 bytes, 4096 written at 401408
> yaffs_file_write size updated to 405504 bytes, 792 blocks
> yaffs unlocking
> yaffs_commit_write returning 4096
> yaffs_prepair_write
> yaffs_commit_write addr c241d000 pos 63000 nBytes 4096
> yaffs locking
> yaffs_file_write about to write writing 4096 bytes to object 386 at 405=
504
> yaffs_file_write writing 4096 bytes, 4096 written at 405504
> yaffs_file_write size updated to 409600 bytes, 800 blocks
> yaffs unlocking
> yaffs_commit_write returning 4096
> yaffs_prepair_write
> yaffs_commit_write addr c241c000 pos 64000 nBytes 4096
> yaffs locking
> yaffs_file_write about to write writing 4096 bytes to object 386 at 409=
600
> yaffs_file_write writing 4096 bytes, 4096 written at 409600
> yaffs_file_write size updated to 413696 bytes, 808 blocks
> yaffs unlocking
> yaffs_commit_write returning 4096
> yaffs_prepair_write
> yaffs_readpage at 00065000, size 00001000
> yaffs locking
> yaffs unlocking
> yaffs_readpage done
> yaffs_commit_write addr c241b000 pos 65000 nBytes 3548
> yaffs locking
> yaffs_file_write about to write writing 3548 bytes to object 386 at 413=
696
> yaffs_file_write writing 3548 bytes, 3548 written at 413696
> yaffs_file_write size updated to 417244 bytes, 815 blocks
> yaffs unlocking
> yaffs_commit_write returning 3548
> yaffs_file_flush object 386 (dirty)
> yaffs locking
> yaffs unlocking
> yaffs_setattr of object 386
> yaffs locking
> yaffs unlocking
> yaffs_setattr of object 386
> yaffs locking
> yaffs unlocking
> yaffs_setattr of object 386
> yaffs locking
> yaffs unlocking
> yaffs_unlink 260:bzcat
> yaffs locking
> yaffs unlocking
> yaffs_put_inode: ino 269, count 1
> yaffs_delete_inode: ino 269, count 0 object exists
> yaffs locking
> yaffs unlocking
> yaffs_clear_inode: ino 269, count 0 object exists
> yaffs locking
> yaffs unlocking
> yaffs_symlink
> yaffs locking
> yaffs unlocking
> yaffs_get_inode for object 387
> yaffs_read_inode for 387
> yaffs_FillInode mode a1ff uid 0 gid 0 size 14 count 1
> symlink created OK
> yaffs_setattr of object 387
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs_setattr of object 386
> yaffs locking
> yaffs unlocking
> yaffs_unlink 260:cat
> yaffs locking
> yaffs unlocking
> yaffs_put_inode: ino 270, count 1
> yaffs_delete_inode: ino 270, count 0 object exists
> yaffs locking
> yaffs unlocking
> yaffs_clear_inode: ino 270, count 0 object exists
> yaffs locking
> yaffs unlocking
> yaffs_symlink
> yaffs locking
> yaffs unlocking
> yaffs_get_inode for object 388
> yaffs_read_inode for 388
> yaffs_FillInode mode a1ff uid 0 gid 0 size 14 count 1
> symlink created OK
> yaffs_setattr of object 388
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs_setattr of object 386
> yaffs locking
> yaffs unlocking
> yaffs_unlink 260:checkboot
> yaffs locking
> yaffs unlocking
> yaffs_put_inode: ino 271, count 1
> yaffs_delete_inode: ino 271, count 0 object exists
> yaffs locking
> soft delete tch 903 cgb 0 chunk 903
> soft delete tch 902 cgb 0 chunk 902
> yaffs unlocking
> yaffs_clear_inode: ino 271, count 0 object exists
> yaffs locking
> yaffs unlocking
> yaffs_create
> yaffs_mknod: parent object 260 type 3
> yaffs_mknod: making oject for checkboot, mode 81ed dev 0
> yaffs locking
> yaffs_mknod: making file
> yaffs_get_inode for object 389
> yaffs_read_inode for 389
> yaffs_FillInode mode 81ed uid 0 gid 0 size 0 count 1
> yaffs_mknod created object 389 count =3D 1
> yaffs unlocking
> yaffs_prepair_write
> yaffs_readpage at 00000000, size 00001000
> yaffs locking
> yaffs unlocking
> yaffs_readpage done
> yaffs_commit_write addr c2461000 pos 0 nBytes 737
> yaffs locking
> yaffs_file_write about to write writing 737 bytes to object 389 at 0
> yaffs_file_write writing 737 bytes, 737 written at 0
> yaffs_file_write size updated to 737 bytes, 2 blocks
> yaffs unlocking
> yaffs_commit_write returning 737
> yaffs_file_flush object 389 (dirty)
> yaffs locking
> yaffs unlocking
> yaffs_setattr of object 389
> yaffs locking
> yaffs unlocking
> yaffs_setattr of object 389
> yaffs locking
> yaffs unlocking
> yaffs_setattr of object 389
> yaffs locking
> yaffs unlocking
> yaffs_unlink 260:chgrp
> yaffs locking
> yaffs unlocking
> yaffs_put_inode: ino 272, count 1
> yaffs_delete_inode: ino 272, count 0 object exists
> yaffs locking
> yaffs unlocking
> yaffs_clear_inode: ino 272, count 0 object exists
> yaffs locking
> yaffs unlocking
> yaffs_symlink
> yaffs locking
> yaffs unlocking
> yaffs_get_inode for object 390
> yaffs_read_inode for 390
> yaffs_FillInode mode a1ff uid 0 gid 0 size 14 count 1
> symlink created OK
> yaffs_setattr of object 390
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs_setattr of object 386
> yaffs locking
> yaffs unlocking
> yaffs_unlink 260:chmod
> yaffs locking
> yaffs unlocking
> yaffs_put_inode: ino 273, count 1
> yaffs_delete_inode: ino 273, count 0 object exists
> yaffs locking
> yaffs unlocking
> yaffs_clear_inode: ino 273, count 0 object exists
> yaffs locking
> yaffs unlocking
> yaffs_symlink
> yaffs locking
> yaffs unlocking
> yaffs_get_inode for object 391
> yaffs_read_inode for 391
> yaffs_FillInode mode a1ff uid 0 gid 0 size 14 count 1
> symlink created OK
> yaffs_setattr of object 391
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs_setattr of object 386
> yaffs locking
> yaffs unlocking
> yaffs_unlink 260:chown
> yaffs locking
> yaffs unlocking
> yaffs_put_inode: ino 274, count 1
> yaffs_delete_inode: ino 274, count 0 object exists
> yaffs locking
> yaffs unlocking
> yaffs_clear_inode: ino 274, count 0 object exists
> yaffs locking
> yaffs unlocking
> yaffs_symlink
> yaffs locking
> yaffs: GC erasedBlocks 56 aggressive 0
> yaffs: About to finally delete object 271
> Erased block 28
> yaffs unlocking
> yaffs_get_inode for object 392
> yaffs_read_inode for 392
> yaffs_FillInode mode a1ff uid 0 gid 0 size 14 count 1
> symlink created OK
> yaffs_setattr of object 392
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs_setattr of object 386
> yaffs locking
> yaffs unlocking
> yaffs_unlink 260:clear
> yaffs locking
> yaffs unlocking
> yaffs_put_inode: ino 275, count 1
> yaffs_delete_inode: ino 275, count 0 object exists
> yaffs locking
> yaffs unlocking
> yaffs_clear_inode: ino 275, count 0 object exists
> yaffs locking
> yaffs unlocking
> yaffs_symlink
> yaffs locking
> yaffs unlocking
> yaffs_get_inode for object 393
> yaffs_read_inode for 393
> yaffs_FillInode mode a1ff uid 0 gid 0 size 14 count 1
> symlink created OK
> yaffs_setattr of object 393
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs_setattr of object 386
> yaffs locking
> yaffs unlocking
> yaffs_unlink 260:cmp
> yaffs locking
> yaffs unlocking
> ~ # ls -ial /mnt
> yaffs_readdir: starting at 0
> yaffs_readdir: starting at 4
>       1 drw-rw-rw-    1 root     root          512 Dec  9 05:52 .
>      76 drwxr-sr-x    1 root     root          248 Jan  1  1970 ..
>     260 drwxr-sr-x    1 root     root          512 Jan  1  1970 bin
>       2 drw-rw-rw-    1 root     root          512 Dec  9 05:52 lost+fo=
und
> ~ # ls -ial /mnt/bin
> yaffs_readdir: starting at 0
> ls: yaffs_readdir: starting at 120
> /mnt/bin/=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=
=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=
=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF
>=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=
=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=
=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=
=FF=FF
>=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=
=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=
=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=
=FF=FF
>=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=
=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF=FF: No such file or directory 260
> drwxr-sr-x    1 root     root          512 Jan  1  1970 .
>       1 drw-rw-rw-    1 root     root          512 Dec  9 05:52 ..
>     379 lrwxrwxrwx    1 root     root           14 Dec  9 05:54 [ ->
> ../bin/busybox 380 lrwxrwxrwx    1 root     root           14 Dec  9 05=
:54
> ash -> ../bin/busybox 381 lrwxrwxrwx    1 root     root           14 De=
c  9
> 05:54 awk -> ../bin/busybox 382 lrwxrwxrwx    1 root     root          =
 14
> Dec  9 05:54 basename -> ../bin/busybox 383 -rwxr-xr-x    1 root     ro=
ot =20
>        682 Jan  1  1970 board_config 384 -rwxr-xr-x    1 root     root =
   =20
>    8492 Jan 19  2038 bootsel 385 lrwxrwxrwx    1 root     root         =
  14
> Dec  9 05:54 bunzip2 -> ../bin/busybox 386 -rwxr-xr-x    1 root     roo=
t  =20
>    417244 Jan  1  1970 busybox 387 lrwxrwxrwx    1 root     root       =
  =20
> 14 Dec  9 05:54 bzcat -> ../bin/busybox 388 lrwxrwxrwx    1 root     ro=
ot =20
>         14 Dec  9 05:54 cat -> ../bin/busybox 389 -rwxr-xr-x    1 root =
  =20
> root          737 Jan  1  1970 checkboot 390 lrwxrwxrwx    1 root     r=
oot=20
>          14 Dec  9 05:54 chgrp -> ../bin/busybox 391 lrwxrwxrwx    1 ro=
ot =20
>   root           14 Dec  9 05:54 chmod -> ../bin/busybox 392 lrwxrwxrwx=
  =20
> 1 root     root           14 Dec  9 05:54 chown -> ../bin/busybox 393
> lrwxrwxrwx    1 root     root           14 Dec  9 05:54 clear ->
> ../bin/busybox 277 -rwxr-xr-x    1 root     root        74668 Jan  1  1=
970
> conserver 278 lrwxrwxrwx    1 root     root           14 Dec  9 05:53 c=
p ->
> ../bin/busybox 279 lrwxrwxrwx    1 root     root           14 Dec  9 05=
:53
> cut -> ../bin/busybox 280 lrwxrwxrwx    1 root     root           14 De=
c  9
> 05:53 date -> ../bin/busybox 281 lrwxrwxrwx    1 root     root         =
  14
> Dec  9 05:53 dd -> ../bin/busybox 282 lrwxrwxrwx    1 root     root    =
   =20
>    6 Dec  9 05:53 dev -> device 283 -rwxr-xr-x    1 root     root      =
=20
> 11848 Jan  1  1970 device 284 lrwxrwxrwx    1 root     root           1=
4
> Dec  9 05:53 df -> ../bin/busybox 285 lrwxrwxrwx    1 root     root    =
   =20
>   14 Dec  9 05:53 dirname -> ../bin/busybox 286 lrwxrwxrwx    1 root   =
=20
> root           14 Dec  9 05:53 dmesg -> ../bin/busybox 287 lrwxrwxrwx  =
  1
> root     root           14 Dec  9 05:53 du -> ../bin/busybox 288 lrwxrw=
xrwx
>    1 root     root           14 Dec  9 05:53 echo -> ../bin/busybox 289
> lrwxrwxrwx    1 root     root           14 Dec  9 05:53 egrep ->
> ../bin/busybox 290 -rwxr-xr-x    1 root     root         4732 Jan  1  1=
970
> einfo 291 lrwxrwxrwx    1 root     root           14 Dec  9 05:53 env -=
>
> ../bin/busybox 292 -rwxr-xr-x    1 root     root         6352 Jan  1  1=
970
> erase 293 -rwxr-xr-x    1 root     root        10984 Jan  1  1970 erase=
all
> 294 lrwxrwxrwx    1 root     root           14 Dec  9 05:53 expr ->
> ../bin/busybox 295 lrwxrwxrwx    1 root     root           14 Dec  9 05=
:53
> false -> ../bin/busybox 296 -rwxr-xr-x    1 root     root         8544 =
Jan=20
> 1  1970 fcp 297 lrwxrwxrwx    1 root     root           14 Dec  9 05:53
> fgrep -> ../bin/busybox 298 lrwxrwxrwx    1 root     root           14 =
Dec=20
> 9 05:53 find -> ../bin/busybox 299 -rwxr-xr-x    1 root     root       =
 =20
> 547 Jan  1  1970 firmware_install 300 lrwxrwxrwx    1 root     root    =
   =20
>   14 Dec  9 05:53 free -> ../bin/busybox 301 lrwxrwxrwx    1 root     r=
oot=20
>          14 Dec  9 05:53 ftpget -> ../bin/busybox 302 lrwxrwxrwx    1 r=
oot=20
>    root           14 Dec  9 05:53 ftpput -> ../bin/busybox 303 -rwxr-xr=
-x =20
>  1 root     root        81820 Jan  1  1970 fw_printenv 304 lrwxrwxrwx  =
  1
> root     root           11 Dec  9 05:53 fw_setenv -> fw_printenv 305
> lrwxrwxrwx    1 root     root           14 Dec  9 05:53 grep ->
> ../bin/busybox 306 lrwxrwxrwx    1 root     root           14 Dec  9 05=
:53
> gunzip -> ../bin/busybox 307 lrwxrwxrwx    1 root     root           14=
 Dec
>  9 05:53 gzip -> ../bin/busybox 308 lrwxrwxrwx    1 root     root      =
   =20
> 14 Dec  9 05:53 head -> ../bin/busybox 309 -rwxr-xr-x    1 root     roo=
t  =20
>     18444 Jan 19  2038 healthMgr 310 lrwxrwxrwx    1 root     root     =
   =20
>  14 Dec  9 05:53 hexdump -> ../bin/busybox 311 lrwxrwxrwx    1 root   =20
> root           14 Dec  9 05:53 hostname -> ../bin/busybox 312 lrwxrwxrw=
x  =20
> 1 root     root           14 Dec  9 05:53 id -> ../bin/busybox 313
> lrwxrwxrwx    1 root     root           14 Dec  9 05:53 install ->
> ../bin/busybox 314 -rwxr-xr-x    1 root     root        30524 Jan  1  1=
970
> ipmiMgr 315 -rwxr-xr-x    1 root     root        20248 Jan  1  1970
> ipmiUpgrade 316 lrwxrwxrwx    1 root     root           14 Dec  9 05:53
> kill -> ../bin/busybox 317 lrwxrwxrwx    1 root     root           14 D=
ec=20
> 9 05:53 killall -> ../bin/busybox 318 lrwxrwxrwx    1 root     root    =
   =20
>   14 Dec  9 05:53 ln -> ../bin/busybox 319 -rwxr-xr-x    1 root     roo=
t  =20
>      5148 Jan  1  1970 lock 320 lrwxrwxrwx    1 root     root          =
 14
> Dec  9 05:53 logger -> ../bin/busybox 321 -rwxr-xr-x    1 root     root=
   =20
>    33315 Jan  1  1970 login 322 lrwxrwxrwx    1 root     root          =
 14
> Dec  9 05:53 ls -> ../bin/busybox 323 lrwxrwxrwx    1 root     root    =
   =20
>   14 Dec  9 05:53 md5sum -> ../bin/busybox 324 lrwxrwxrwx    1 root   =20
> root           14 Dec  9 05:53 mkdir -> ../bin/busybox 325 lrwxrwxrwx  =
  1
> root     root           14 Dec  9 05:53 mknod -> ../bin/busybox 326
> lrwxrwxrwx    1 root     root           14 Dec  9 05:53 mktemp ->
> ../bin/busybox 327 lrwxrwxrwx    1 root     root           14 Dec  9 05=
:53
> more -> ../bin/busybox 328 lrwxrwxrwx    1 root     root           14 D=
ec=20
> 9 05:53 mount -> ../bin/busybox 329 -rwxr-xr-x    1 root     root      =
 =20
> 9868 Jan  1  1970 mtd_debug 330 lrwxrwxrwx    1 root     root          =
 14
> Dec  9 05:53 mv -> ../bin/busybox 331 -rwxr-xr-x    1 root     root    =
   =20
> 6608 Jan  1  1970 nanddump 332 -rwxr-xr-x    1 root     root         73=
04
> Jan  1  1970 nandwrite 333 -rwxr-xr-x    1 root     root          166 J=
an=20
> 1  1970 nfs 334 lrwxrwxrwx    1 root     root           14 Dec  9 05:53
> pidof -> ../bin/busybox 335 lrwxrwxrwx    1 root     root           14 =
Dec=20
> 9 05:53 ping -> ../bin/busybox 336 -rwxr-xr-x    1 root     root       =
=20
> 1398 Jan  1  1970 populate 337 lrwxrwxrwx    1 root     root           =
14
> Dec  9 05:53 ps -> ../bin/busybox 338 lrwxrwxrwx    1 root     root    =
   =20
>   14 Dec  9 05:53 pwd -> ../bin/busybox 339 lrwxrwxrwx    1 root     ro=
ot =20
>         14 Dec  9 05:53 readlink -> ../bin/busybox 340 lrwxrwxrwx    1 =
root
>     root           14 Dec  9 05:53 reset -> ../bin/busybox 341 lrwxrwxr=
wx =20
>  1 root     root           14 Dec  9 05:53 rm -> ../bin/busybox 342
> lrwxrwxrwx    1 root     root           14 Dec  9 05:53 rmdir ->
> ../bin/busybox 343 lrwxrwxrwx    1 root     root           14 Dec  9 05=
:53
> sed -> ../bin/busybox 344 lrwxrwxrwx    1 root     root           14 De=
c  9
> 05:53 sh -> ../bin/busybox 345 lrwxrwxrwx    1 root     root           =
14
> Dec  9 05:53 sleep -> ../bin/busybox 346 lrwxrwxrwx    1 root     root =
   =20
>      14 Dec  9 05:53 sort -> ../bin/busybox 347 lrwxrwxrwx    1 root   =
=20
> root           14 Dec  9 05:53 strings -> ../bin/busybox 348 lrwxrwxrwx=
  =20
> 1 root     root           14 Dec  9 05:53 stty -> ../bin/busybox 349
> lrwxrwxrwx    1 root     root           14 Dec  9 05:53 sync ->
> ../bin/busybox 350 lrwxrwxrwx    1 root     root           14 Dec  9 05=
:53
> tail -> ../bin/busybox 351 lrwxrwxrwx    1 root     root           14 D=
ec=20
> 9 05:53 tar -> ../bin/busybox 352 lrwxrwxrwx    1 root     root        =
 =20
> 14 Dec  9 05:53 tee -> ../bin/busybox 353 lrwxrwxrwx    1 root     root=
   =20
>       14 Dec  9 05:53 telnet -> ../bin/busybox 354 lrwxrwxrwx    1 root=
   =20
> root           14 Dec  9 05:53 test -> ../bin/busybox 355 lrwxrwxrwx   =
 1
> root     root           14 Dec  9 05:53 tftp -> ../bin/busybox 356
> lrwxrwxrwx    1 root     root           14 Dec  9 05:53 time ->
> ../bin/busybox 357 lrwxrwxrwx    1 root     root           14 Dec  9 05=
:53
> top -> ../bin/busybox 358 lrwxrwxrwx    1 root     root           14 De=
c  9
> 05:53 touch -> ../bin/busybox 359 lrwxrwxrwx    1 root     root        =
 =20
> 14 Dec  9 05:53 tr -> ../bin/busybox 360 lrwxrwxrwx    1 root     root =
   =20
>      14 Dec  9 05:53 traceroute -> ../bin/busybox 361 lrwxrwxrwx    1 r=
oot=20
>    root           14 Dec  9 05:53 true -> ../bin/busybox 362 lrwxrwxrwx=
  =20
> 1 root     root           14 Dec  9 05:53 tty -> ../bin/busybox 363
> lrwxrwxrwx    1 root     root           14 Dec  9 05:53 umount ->
> ../bin/busybox 364 lrwxrwxrwx    1 root     root           14 Dec  9 05=
:53
> uname -> ../bin/busybox 365 lrwxrwxrwx    1 root     root           14 =
Dec=20
> 9 05:53 uniq -> ../bin/busybox 366 -rwxr-xr-x    1 root     root       =
=20
> 4800 Jan  1  1970 unlock 367 lrwxrwxrwx    1 root     root           14=
 Dec
>  9 05:53 unzip -> ../bin/busybox 368 lrwxrwxrwx    1 root     root     =
   =20
>  14 Dec  9 05:53 uptime -> ../bin/busybox 369 lrwxrwxrwx    1 root     =
root
>           14 Dec  9 05:53 usleep -> ../bin/busybox 370 lrwxrwxrwx    1 =
root
>     root           14 Dec  9 05:53 vi -> ../bin/busybox 371 lrwxrwxrwx =
   1
> root     root           14 Dec  9 05:53 wc -> ../bin/busybox 372 lrwxrw=
xrwx
>    1 root     root           14 Dec  9 05:53 wget -> ../bin/busybox 373
> lrwxrwxrwx    1 root     root           14 Dec  9 05:53 which ->
> ../bin/busybox 374 lrwxrwxrwx    1 root     root           14 Dec  9 05=
:53
> whoami -> ../bin/busybox 375 lrwxrwxrwx    1 root     root           14=
 Dec
>  9 05:53 xargs -> ../bin/busybox 376 -rwxr-xr-x    1 root     root     =
=20
> 149848 Jan  1  1970 xinetd 377 lrwxrwxrwx    1 root     root           =
14
> Dec  9 05:53 yes -> ../bin/busybox 378 lrwxrwxrwx    1 root     root   =
   =20
>    14 Dec  9 05:53 zcat -> ../bin/busybox ~ # cat /proc/yaffs
> YAFFS built:Jan  6 2005 12:19:15
> $Id: yaffs_fs.c,v 1.35 2004/10/20 20:12:43 charles Exp $
> $Id: yaffs_guts.c,v 1.37 2004/10/20 20:12:43 charles Exp $
>
> Device yaffs
> startBlock......... 1
> endBlock........... 127
> chunkGroupBits..... 0
> chunkGroupSize..... 1
> nErasedBlocks...... 57
> nTnodesCreated..... 200
> nFreeTnodes........ 44
> nObjectsCreated.... 200
> nFreeObjects....... 76
> nFreeChunks........ 2118
> nPageWrites........ 3447
> nPageReads......... 4411
> nBlockErasures..... 28
> nGCCopies.......... 1
> garbageCollections. 28
> passiveGCs......... 28
> nRetriedWrites..... 0
> nRetireBlocks...... 0
> eccFixed........... 0
> eccUnfixed......... 0
> tagsEccFixed....... 0
> tagsEccUnfixed..... 126
> cacheHits.......... 0
> nDeletedFiles...... 4
> nUnlinkedFiles..... 4
> nBackgroudDeletions 0
> useNANDECC......... 0
> ~ # umount /mnt
> yaffs_put_inode: ino 379, count 1
> yaffs_put_inode: ino 386, count 1
> yaffs_put_inode: ino 380, count 1
> yaffs_put_inode: ino 381, count 1
> yaffs_put_inode: ino 382, count 1
> yaffs_put_inode: ino 383, count 1
> yaffs_put_inode: ino 384, count 1
> yaffs_put_inode: ino 385, count 1
> yaffs_put_inode: ino 387, count 1
> yaffs_put_inode: ino 388, count 1
> yaffs_put_inode: ino 389, count 1
> yaffs_put_inode: ino 390, count 1
> yaffs_put_inode: ino 391, count 1
> yaffs_put_inode: ino 392, count 1
> yaffs_put_inode: ino 393, count 1
> yaffs_put_inode: ino 276, count 1
> yaffs_put_inode: ino 277, count 1
> yaffs_put_inode: ino 278, count 1
> yaffs_put_inode: ino 279, count 1
> yaffs_put_inode: ino 280, count 1
> yaffs_put_inode: ino 281, count 1
> yaffs_put_inode: ino 282, count 1
> yaffs_put_inode: ino 283, count 1
> yaffs_put_inode: ino 284, count 1
> yaffs_put_inode: ino 285, count 1
> yaffs_put_inode: ino 286, count 1
> yaffs_put_inode: ino 287, count 1
> yaffs_put_inode: ino 288, count 1
> yaffs_put_inode: ino 289, count 1
> yaffs_put_inode: ino 290, count 1
> yaffs_put_inode: ino 291, count 1
> yaffs_put_inode: ino 292, count 1
> yaffs_put_inode: ino 293, count 1
> yaffs_put_inode: ino 294, count 1
> yaffs_put_inode: ino 295, count 1
> yaffs_put_inode: ino 296, count 1
> yaffs_put_inode: ino 297, count 1
> yaffs_put_inode: ino 298, count 1
> yaffs_put_inode: ino 299, count 1
> yaffs_put_inode: ino 300, count 1
> yaffs_put_inode: ino 301, count 1
> yaffs_put_inode: ino 302, count 1
> yaffs_put_inode: ino 303, count 1
> yaffs_put_inode: ino 304, count 1
> yaffs_put_inode: ino 305, count 1
> yaffs_put_inode: ino 306, count 1
> yaffs_put_inode: ino 307, count 1
> yaffs_put_inode: ino 308, count 1
> yaffs_put_inode: ino 309, count 1
> yaffs_put_inode: ino 310, count 1
> yaffs_put_inode: ino 311, count 1
> yaffs_put_inode: ino 312, count 1
> yaffs_put_inode: ino 313, count 1
> yaffs_put_inode: ino 314, count 1
> yaffs_put_inode: ino 315, count 1
> yaffs_put_inode: ino 316, count 1
> yaffs_put_inode: ino 317, count 1
> yaffs_put_inode: ino 318, count 1
> yaffs_put_inode: ino 319, count 1
> yaffs_put_inode: ino 320, count 1
> yaffs_put_inode: ino 321, count 1
> yaffs_put_inode: ino 322, count 1
> yaffs_put_inode: ino 323, count 1
> yaffs_put_inode: ino 324, count 1
> yaffs_put_inode: ino 325, count 1
> yaffs_put_inode: ino 326, count 1
> yaffs_put_inode: ino 327, count 1
> yaffs_put_inode: ino 328, count 1
> yaffs_put_inode: ino 329, count 1
> yaffs_put_inode: ino 330, count 1
> yaffs_put_inode: ino 331, count 1
> yaffs_put_inode: ino 332, count 1
> yaffs_put_inode: ino 333, count 1
> yaffs_put_inode: ino 334, count 1
> yaffs_put_inode: ino 335, count 1
> yaffs_put_inode: ino 336, count 1
> yaffs_put_inode: ino 337, count 1
> yaffs_put_inode: ino 338, count 1
> yaffs_put_inode: ino 339, count 1
> yaffs_put_inode: ino 340, count 1
> yaffs_put_inode: ino 341, count 1
> yaffs_put_inode: ino 342, count 1
> yaffs_put_inode: ino 343, count 1
> yaffs_put_inode: ino 344, count 1
> yaffs_put_inode: ino 345, count 1
> yaffs_put_inode: ino 346, count 1
> yaffs_put_inode: ino 347, count 1
> yaffs_put_inode: ino 348, count 1
> yaffs_put_inode: ino 349, count 1
> yaffs_put_inode: ino 350, count 1
> yaffs_put_inode: ino 351, count 1
> yaffs_put_inode: ino 352, count 1
> yaffs_put_inode: ino 353, count 1
> yaffs_put_inode: ino 354, count 1
> yaffs_put_inode: ino 355, count 1
> yaffs_put_inode: ino 356, count 1
> yaffs_put_inode: ino 357, count 1
> yaffs_put_inode: ino 358, count 1
> yaffs_put_inode: ino 359, count 1
> yaffs_put_inode: ino 360, count 1
> yaffs_put_inode: ino 361, count 1
> yaffs_put_inode: ino 362, count 1
> yaffs_put_inode: ino 363, count 1
> yaffs_put_inode: ino 364, count 1
> yaffs_put_inode: ino 365, count 1
> yaffs_put_inode: ino 366, count 1
> yaffs_put_inode: ino 367, count 1
> yaffs_put_inode: ino 368, count 1
> yaffs_put_inode: ino 369, count 1
> yaffs_put_inode: ino 370, count 1
> yaffs_put_inode: ino 371, count 1
> yaffs_put_inode: ino 372, count 1
> yaffs_put_inode: ino 373, count 1
> yaffs_put_inode: ino 374, count 1
> yaffs_put_inode: ino 375, count 1
> yaffs_put_inode: ino 376, count 1
> yaffs_put_inode: ino 377, count 1
> yaffs_put_inode: ino 378, count 1
> yaffs_put_inode: ino 2, count 1
> yaffs_put_inode: ino 260, count 1
> yaffs_put_inode: ino 1, count 1
> yaffs_clear_inode: ino 386, count 0 object exists
> yaffs_clear_inode: ino 383, count 0 object exists
> yaffs_clear_inode: ino 384, count 0 object exists
> yaffs_clear_inode: ino 389, count 0 object exists
> yaffs_clear_inode: ino 277, count 0 object exists
> yaffs_clear_inode: ino 283, count 0 object exists
> yaffs_clear_inode: ino 290, count 0 object exists
> yaffs_clear_inode: ino 292, count 0 object exists
> yaffs_clear_inode: ino 293, count 0 object exists
> yaffs_clear_inode: ino 296, count 0 object exists
> yaffs_clear_inode: ino 299, count 0 object exists
> yaffs_clear_inode: ino 303, count 0 object exists
> yaffs_clear_inode: ino 309, count 0 object exists
> yaffs_clear_inode: ino 314, count 0 object exists
> yaffs_clear_inode: ino 315, count 0 object exists
> yaffs_clear_inode: ino 319, count 0 object exists
> yaffs_clear_inode: ino 321, count 0 object exists
> yaffs_clear_inode: ino 329, count 0 object exists
> yaffs_clear_inode: ino 331, count 0 object exists
> yaffs_clear_inode: ino 332, count 0 object exists
> yaffs_clear_inode: ino 333, count 0 object exists
> yaffs_clear_inode: ino 336, count 0 object exists
> yaffs_clear_inode: ino 366, count 0 object exists
> yaffs_clear_inode: ino 376, count 0 object exists
> yaffs_clear_inode: ino 379, count 0 object exists
> yaffs_clear_inode: ino 380, count 0 object exists
> yaffs_clear_inode: ino 381, count 0 object exists
> yaffs_clear_inode: ino 382, count 0 object exists
> yaffs_clear_inode: ino 385, count 0 object exists
> yaffs_clear_inode: ino 387, count 0 object exists
> yaffs_clear_inode: ino 388, count 0 object exists
> yaffs_clear_inode: ino 390, count 0 object exists
> yaffs_clear_inode: ino 391, count 0 object exists
> yaffs_clear_inode: ino 392, count 0 object exists
> yaffs_clear_inode: ino 393, count 0 object exists
> yaffs_clear_inode: ino 276, count 0 object exists
> yaffs_clear_inode: ino 278, count 0 object exists
> yaffs_clear_inode: ino 279, count 0 object exists
> yaffs_clear_inode: ino 280, count 0 object exists
> yaffs_clear_inode: ino 281, count 0 object exists
> yaffs_clear_inode: ino 282, count 0 object exists
> yaffs_clear_inode: ino 284, count 0 object exists
> yaffs_clear_inode: ino 285, count 0 object exists
> yaffs_clear_inode: ino 286, count 0 object exists
> yaffs_clear_inode: ino 287, count 0 object exists
> yaffs_clear_inode: ino 288, count 0 object exists
> yaffs_clear_inode: ino 289, count 0 object exists
> yaffs_clear_inode: ino 291, count 0 object exists
> yaffs_clear_inode: ino 294, count 0 object exists
> yaffs_clear_inode: ino 295, count 0 object exists
> yaffs_clear_inode: ino 297, count 0 object exists
> yaffs_clear_inode: ino 298, count 0 object exists
> yaffs_clear_inode: ino 300, count 0 object exists
> yaffs_clear_inode: ino 301, count 0 object exists
> yaffs_clear_inode: ino 302, count 0 object exists
> yaffs_clear_inode: ino 304, count 0 object exists
> yaffs_clear_inode: ino 305, count 0 object exists
> yaffs_clear_inode: ino 306, count 0 object exists
> yaffs_clear_inode: ino 307, count 0 object exists
> yaffs_clear_inode: ino 308, count 0 object exists
> yaffs_clear_inode: ino 310, count 0 object exists
> yaffs_clear_inode: ino 311, count 0 object exists
> yaffs_clear_inode: ino 312, count 0 object exists
> yaffs_clear_inode: ino 313, count 0 object exists
> yaffs_clear_inode: ino 316, count 0 object exists
> yaffs_clear_inode: ino 317, count 0 object exists
> yaffs_clear_inode: ino 318, count 0 object exists
> yaffs_clear_inode: ino 320, count 0 object exists
> yaffs_clear_inode: ino 322, count 0 object exists
> yaffs_clear_inode: ino 323, count 0 object exists
> yaffs_clear_inode: ino 324, count 0 object exists
> yaffs_clear_inode: ino 325, count 0 object exists
> yaffs_clear_inode: ino 326, count 0 object exists
> yaffs_clear_inode: ino 327, count 0 object exists
> yaffs_clear_inode: ino 328, count 0 object exists
> yaffs_clear_inode: ino 330, count 0 object exists
> yaffs_clear_inode: ino 334, count 0 object exists
> yaffs_clear_inode: ino 335, count 0 object exists
> yaffs_clear_inode: ino 337, count 0 object exists
> yaffs_clear_inode: ino 338, count 0 object exists
> yaffs_clear_inode: ino 339, count 0 object exists
> yaffs_clear_inode: ino 340, count 0 object exists
> yaffs_clear_inode: ino 341, count 0 object exists
> yaffs_clear_inode: ino 342, count 0 object exists
> yaffs_clear_inode: ino 343, count 0 object exists
> yaffs_clear_inode: ino 344, count 0 object exists
> yaffs_clear_inode: ino 345, count 0 object exists
> yaffs_clear_inode: ino 346, count 0 object exists
> yaffs_clear_inode: ino 347, count 0 object exists
> yaffs_clear_inode: ino 348, count 0 object exists
> yaffs_clear_inode: ino 349, count 0 object exists
> yaffs_clear_inode: ino 350, count 0 object exists
> yaffs_clear_inode: ino 351, count 0 object exists
> yaffs_clear_inode: ino 352, count 0 object exists
> yaffs_clear_inode: ino 353, count 0 object exists
> yaffs_clear_inode: ino 354, count 0 object exists
> yaffs_clear_inode: ino 355, count 0 object exists
> yaffs_clear_inode: ino 356, count 0 object exists
> yaffs_clear_inode: ino 357, count 0 object exists
> yaffs_clear_inode: ino 358, count 0 object exists
> yaffs_clear_inode: ino 359, count 0 object exists
> yaffs_clear_inode: ino 360, count 0 object exists
> yaffs_clear_inode: ino 361, count 0 object exists
> yaffs_clear_inode: ino 362, count 0 object exists
> yaffs_clear_inode: ino 363, count 0 object exists
> yaffs_clear_inode: ino 364, count 0 object exists
> yaffs_clear_inode: ino 365, count 0 object exists
> yaffs_clear_inode: ino 367, count 0 object exists
> yaffs_clear_inode: ino 368, count 0 object exists
> yaffs_clear_inode: ino 369, count 0 object exists
> yaffs_clear_inode: ino 370, count 0 object exists
> yaffs_clear_inode: ino 371, count 0 object exists
> yaffs_clear_inode: ino 372, count 0 object exists
> yaffs_clear_inode: ino 373, count 0 object exists
> yaffs_clear_inode: ino 374, count 0 object exists
> yaffs_clear_inode: ino 375, count 0 object exists
> yaffs_clear_inode: ino 377, count 0 object exists
> yaffs_clear_inode: ino 378, count 0 object exists
> yaffs_clear_inode: ino 2, count 0 object exists
> yaffs_clear_inode: ino 260, count 0 object exists
> yaffs_clear_inode: ino 1, count 0 object exists
> ~ #
> ~ # mount /dev/mtdblock18 /mnt
> cramfs: wrong magic
> yaffs: dev is 7954 name is "1f:12"
> yaffs_read_super: MTD block size 4096
> yaffs_read_super: guts initialised
> yaffs_read_super: got root inode
> yaffs_read_super: d_alloc_root done
> yaffs_read_super: done
> ~ # ls -ial /mnt/bin
> yaffs_readdir: starting at 0
> yaffs_readdir: starting at 119
>     260 drwxr-sr-x    1 root     root          512 Jan  1  1970 .
>       1 drw-rw-rw-    1 root     root          512 Dec  9 05:57 ..
>     379 lrwxrwxrwx    1 root     root           14 Dec  9 05:54 [ ->
> ../bin/busybox 380 lrwxrwxrwx    1 root     root           14 Dec  9 05=
:54
> ash -> ../bin/busybox 381 lrwxrwxrwx    1 root     root           14 De=
c  9
> 05:54 awk -> ../bin/busybox 382 lrwxrwxrwx    1 root     root          =
 14
> Dec  9 05:54 basename -> ../bin/busybox 383 -rwxr-xr-x    1 root     ro=
ot =20
>        682 Jan  1  1970 board_config 384 -rwxr-xr-x    1 root     root =
   =20
>    8492 Jan 19  2038 bootsel 385 lrwxrwxrwx    1 root     root         =
  14
> Dec  9 05:54 bunzip2 -> ../bin/busybox 386 -rwxr-xr-x    1 root     roo=
t  =20
>    417244 Jan  1  1970 busybox 387 lrwxrwxrwx    1 root     root       =
  =20
> 14 Dec  9 05:54 bzcat -> ../bin/busybox 388 lrwxrwxrwx    1 root     ro=
ot =20
>         14 Dec  9 05:54 cat -> ../bin/busybox 389 -rwxr-xr-x    1 root =
  =20
> root          737 Jan  1  1970 checkboot 390 lrwxrwxrwx    1 root     r=
oot=20
>          14 Dec  9 05:54 chgrp -> ../bin/busybox 391 lrwxrwxrwx    1 ro=
ot =20
>   root           14 Dec  9 05:54 chmod -> ../bin/busybox 392 lrwxrwxrwx=
  =20
> 1 root     root           14 Dec  9 05:54 chown -> ../bin/busybox 393
> lrwxrwxrwx    1 root     root           14 Dec  9 05:54 clear ->
> ../bin/busybox 277 -rwxr-xr-x    1 root     root        74668 Jan  1  1=
970
> conserver 278 lrwxrwxrwx    1 root     root           14 Dec  9 05:53 c=
p ->
> ../bin/busybox 279 lrwxrwxrwx    1 root     root           14 Dec  9 05=
:53
> cut -> ../bin/busybox 280 lrwxrwxrwx    1 root     root           14 De=
c  9
> 05:53 date -> ../bin/busybox 281 lrwxrwxrwx    1 root     root         =
  14
> Dec  9 05:53 dd -> ../bin/busybox 282 lrwxrwxrwx    1 root     root    =
   =20
>    6 Dec  9 05:53 dev -> device 283 -rwxr-xr-x    1 root     root      =
=20
> 11848 Jan  1  1970 device 284 lrwxrwxrwx    1 root     root           1=
4
> Dec  9 05:53 df -> ../bin/busybox 285 lrwxrwxrwx    1 root     root    =
   =20
>   14 Dec  9 05:53 dirname -> ../bin/busybox 286 lrwxrwxrwx    1 root   =
=20
> root           14 Dec  9 05:53 dmesg -> ../bin/busybox 287 lrwxrwxrwx  =
  1
> root     root           14 Dec  9 05:53 du -> ../bin/busybox 288 lrwxrw=
xrwx
>    1 root     root           14 Dec  9 05:53 echo -> ../bin/busybox 289
> lrwxrwxrwx    1 root     root           14 Dec  9 05:53 egrep ->
> ../bin/busybox 290 -rwxr-xr-x    1 root     root         4732 Jan  1  1=
970
> einfo 291 lrwxrwxrwx    1 root     root           14 Dec  9 05:53 env -=
>
> ../bin/busybox 292 -rwxr-xr-x    1 root     root         6352 Jan  1  1=
970
> erase 293 -rwxr-xr-x    1 root     root        10984 Jan  1  1970 erase=
all
> 294 lrwxrwxrwx    1 root     root           14 Dec  9 05:53 expr ->
> ../bin/busybox 295 lrwxrwxrwx    1 root     root           14 Dec  9 05=
:53
> false -> ../bin/busybox 296 -rwxr-xr-x    1 root     root         8544 =
Jan=20
> 1  1970 fcp 297 lrwxrwxrwx    1 root     root           14 Dec  9 05:53
> fgrep -> ../bin/busybox 298 lrwxrwxrwx    1 root     root           14 =
Dec=20
> 9 05:53 find -> ../bin/busybox 299 -rwxr-xr-x    1 root     root       =
 =20
> 547 Jan  1  1970 firmware_install 300 lrwxrwxrwx    1 root     root    =
   =20
>   14 Dec  9 05:53 free -> ../bin/busybox 301 lrwxrwxrwx    1 root     r=
oot=20
>          14 Dec  9 05:53 ftpget -> ../bin/busybox 302 lrwxrwxrwx    1 r=
oot=20
>    root           14 Dec  9 05:53 ftpput -> ../bin/busybox 303 -rwxr-xr=
-x =20
>  1 root     root        81820 Jan  1  1970 fw_printenv 304 lrwxrwxrwx  =
  1
> root     root           11 Dec  9 05:53 fw_setenv -> fw_printenv 305
> lrwxrwxrwx    1 root     root           14 Dec  9 05:53 grep ->
> ../bin/busybox 306 lrwxrwxrwx    1 root     root           14 Dec  9 05=
:53
> gunzip -> ../bin/busybox 307 lrwxrwxrwx    1 root     root           14=
 Dec
>  9 05:53 gzip -> ../bin/busybox 308 lrwxrwxrwx    1 root     root      =
   =20
> 14 Dec  9 05:53 head -> ../bin/busybox 309 -rwxr-xr-x    1 root     roo=
t  =20
>     18444 Jan 19  2038 healthMgr 310 lrwxrwxrwx    1 root     root     =
   =20
>  14 Dec  9 05:53 hexdump -> ../bin/busybox 311 lrwxrwxrwx    1 root   =20
> root           14 Dec  9 05:53 hostname -> ../bin/busybox 312 lrwxrwxrw=
x  =20
> 1 root     root           14 Dec  9 05:53 id -> ../bin/busybox 313
> lrwxrwxrwx    1 root     root           14 Dec  9 05:53 install ->
> ../bin/busybox 314 -rwxr-xr-x    1 root     root        30524 Jan  1  1=
970
> ipmiMgr 315 -rwxr-xr-x    1 root     root        20248 Jan  1  1970
> ipmiUpgrade 316 lrwxrwxrwx    1 root     root           14 Dec  9 05:53
> kill -> ../bin/busybox 317 lrwxrwxrwx    1 root     root           14 D=
ec=20
> 9 05:53 killall -> ../bin/busybox 318 lrwxrwxrwx    1 root     root    =
   =20
>   14 Dec  9 05:53 ln -> ../bin/busybox 319 -rwxr-xr-x    1 root     roo=
t  =20
>      5148 Jan  1  1970 lock 320 lrwxrwxrwx    1 root     root          =
 14
> Dec  9 05:53 logger -> ../bin/busybox 321 -rwxr-xr-x    1 root     root=
   =20
>    33315 Jan  1  1970 login 322 lrwxrwxrwx    1 root     root          =
 14
> Dec  9 05:53 ls -> ../bin/busybox 323 lrwxrwxrwx    1 root     root    =
   =20
>   14 Dec  9 05:53 md5sum -> ../bin/busybox 324 lrwxrwxrwx    1 root   =20
> root           14 Dec  9 05:53 mkdir -> ../bin/busybox 325 lrwxrwxrwx  =
  1
> root     root           14 Dec  9 05:53 mknod -> ../bin/busybox 326
> lrwxrwxrwx    1 root     root           14 Dec  9 05:53 mktemp ->
> ../bin/busybox 327 lrwxrwxrwx    1 root     root           14 Dec  9 05=
:53
> more -> ../bin/busybox 328 lrwxrwxrwx    1 root     root           14 D=
ec=20
> 9 05:53 mount -> ../bin/busybox 329 -rwxr-xr-x    1 root     root      =
 =20
> 9868 Jan  1  1970 mtd_debug 330 lrwxrwxrwx    1 root     root          =
 14
> Dec  9 05:53 mv -> ../bin/busybox 331 -rwxr-xr-x    1 root     root    =
   =20
> 6608 Jan  1  1970 nanddump 332 -rwxr-xr-x    1 root     root         73=
04
> Jan  1  1970 nandwrite 333 -rwxr-xr-x    1 root     root          166 J=
an=20
> 1  1970 nfs 334 lrwxrwxrwx    1 root     root           14 Dec  9 05:53
> pidof -> ../bin/busybox 335 lrwxrwxrwx    1 root     root           14 =
Dec=20
> 9 05:53 ping -> ../bin/busybox 336 -rwxr-xr-x    1 root     root       =
=20
> 1398 Jan  1  1970 populate 337 lrwxrwxrwx    1 root     root           =
14
> Dec  9 05:53 ps -> ../bin/busybox 338 lrwxrwxrwx    1 root     root    =
   =20
>   14 Dec  9 05:53 pwd -> ../bin/busybox 339 lrwxrwxrwx    1 root     ro=
ot =20
>         14 Dec  9 05:53 readlink -> ../bin/busybox 340 lrwxrwxrwx    1 =
root
>     root           14 Dec  9 05:53 reset -> ../bin/busybox 341 lrwxrwxr=
wx =20
>  1 root     root           14 Dec  9 05:53 rm -> ../bin/busybox 342
> lrwxrwxrwx    1 root     root           14 Dec  9 05:53 rmdir ->
> ../bin/busybox 343 lrwxrwxrwx    1 root     root           14 Dec  9 05=
:53
> sed -> ../bin/busybox 344 lrwxrwxrwx    1 root     root           14 De=
c  9
> 05:53 sh -> ../bin/busybox 345 lrwxrwxrwx    1 root     root           =
14
> Dec  9 05:53 sleep -> ../bin/busybox 346 lrwxrwxrwx    1 root     root =
   =20
>      14 Dec  9 05:53 sort -> ../bin/busybox 347 lrwxrwxrwx    1 root   =
=20
> root           14 Dec  9 05:53 strings -> ../bin/busybox 348 lrwxrwxrwx=
  =20
> 1 root     root           14 Dec  9 05:53 stty -> ../bin/busybox 349
> lrwxrwxrwx    1 root     root           14 Dec  9 05:53 sync ->
> ../bin/busybox 350 lrwxrwxrwx    1 root     root           14 Dec  9 05=
:53
> tail -> ../bin/busybox 351 lrwxrwxrwx    1 root     root           14 D=
ec=20
> 9 05:53 tar -> ../bin/busybox 352 lrwxrwxrwx    1 root     root        =
 =20
> 14 Dec  9 05:53 tee -> ../bin/busybox 353 lrwxrwxrwx    1 root     root=
   =20
>       14 Dec  9 05:53 telnet -> ../bin/busybox 354 lrwxrwxrwx    1 root=
   =20
> root           14 Dec  9 05:53 test -> ../bin/busybox 355 lrwxrwxrwx   =
 1
> root     root           14 Dec  9 05:53 tftp -> ../bin/busybox 356
> lrwxrwxrwx    1 root     root           14 Dec  9 05:53 time ->
> ../bin/busybox 357 lrwxrwxrwx    1 root     root           14 Dec  9 05=
:53
> top -> ../bin/busybox 358 lrwxrwxrwx    1 root     root           14 De=
c  9
> 05:53 touch -> ../bin/busybox 359 lrwxrwxrwx    1 root     root        =
 =20
> 14 Dec  9 05:53 tr -> ../bin/busybox 360 lrwxrwxrwx    1 root     root =
   =20
>      14 Dec  9 05:53 traceroute -> ../bin/busybox 361 lrwxrwxrwx    1 r=
oot=20
>    root           14 Dec  9 05:53 true -> ../bin/busybox 362 lrwxrwxrwx=
  =20
> 1 root     root           14 Dec  9 05:53 tty -> ../bin/busybox 363
> lrwxrwxrwx    1 root     root           14 Dec  9 05:53 umount ->
> ../bin/busybox 364 lrwxrwxrwx    1 root     root           14 Dec  9 05=
:53
> uname -> ../bin/busybox 365 lrwxrwxrwx    1 root     root           14 =
Dec=20
> 9 05:53 uniq -> ../bin/busybox 366 -rwxr-xr-x    1 root     root       =
=20
> 4800 Jan  1  1970 unlock 367 lrwxrwxrwx    1 root     root           14=
 Dec
>  9 05:53 unzip -> ../bin/busybox 368 lrwxrwxrwx    1 root     root     =
   =20
>  14 Dec  9 05:53 uptime -> ../bin/busybox 369 lrwxrwxrwx    1 root     =
root
>           14 Dec  9 05:53 usleep -> ../bin/busybox 370 lrwxrwxrwx    1 =
root
>     root           14 Dec  9 05:53 vi -> ../bin/busybox 371 lrwxrwxrwx =
   1
> root     root           14 Dec  9 05:53 wc -> ../bin/busybox 372 lrwxrw=
xrwx
>    1 root     root           14 Dec  9 05:53 wget -> ../bin/busybox 373
> lrwxrwxrwx    1 root     root           14 Dec  9 05:53 which ->
> ../bin/busybox 374 lrwxrwxrwx    1 root     root           14 Dec  9 05=
:53
> whoami -> ../bin/busybox 375 lrwxrwxrwx    1 root     root           14=
 Dec
>  9 05:53 xargs -> ../bin/busybox 376 -rwxr-xr-x    1 root     root     =
=20
> 149848 Jan  1  1970 xinetd 377 lrwxrwxrwx    1 root     root           =
14
> Dec  9 05:53 yes -> ../bin/busybox 378 lrwxrwxrwx    1 root     root   =
   =20
>    14 Dec  9 05:53 zcat -> ../bin/busybox ~ # dmesg
> yaffs unlocking
> yaffs locking
> yaffs_lookup for 260:dev
> yaffs_lookup found 282
> yaffs_get_inode for object 282
> yaffs_read_inode for 282
> yaffs_FillInode mode a1ff uid 0 gid 0 size 6 count 1
> yaffs_loookup dentry
> yaffs unlocking
> yaffs locking
> yaffs_lookup for 260:dd
> yaffs_lookup found 281
> yaffs_get_inode for object 281
> yaffs_read_inode for 281
> yaffs_FillInode mode a1ff uid 0 gid 0 size 14 count 1
> yaffs_loookup dentry
> yaffs unlocking
> yaffs locking
> yaffs_lookup for 260:date
> yaffs_lookup found 280
> yaffs_get_inode for object 280
> yaffs_read_inode for 280
> yaffs_FillInode mode a1ff uid 0 gid 0 size 14 count 1
> yaffs_loookup dentry
> yaffs unlocking
> yaffs locking
> yaffs_lookup for 260:cut
> yaffs_lookup found 279
> yaffs_get_inode for object 279
> yaffs_read_inode for 279
> yaffs_FillInode mode a1ff uid 0 gid 0 size 14 count 1
> yaffs_loookup dentry
> yaffs unlocking
> yaffs locking
> yaffs_lookup for 260:cp
> yaffs_lookup found 278
> yaffs_get_inode for object 278
> yaffs_read_inode for 278
> yaffs_FillInode mode a1ff uid 0 gid 0 size 14 count 1
> yaffs_loookup dentry
> yaffs unlocking
> yaffs locking
> yaffs_lookup for 260:conserver
> yaffs_lookup found 277
> yaffs_get_inode for object 277
> yaffs_read_inode for 277
> yaffs_FillInode mode 81ed uid 0 gid 0 size 74668 count 1
> yaffs_loookup dentry
> yaffs unlocking
> yaffs locking
> yaffs_readdir: starting at 119
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> yaffs locking
> yaffs unlocking
> ~ # umount /mnt
> yaffs_put_inode: ino 386, count 1
> yaffs_put_inode: ino 393, count 1
> yaffs_put_inode: ino 392, count 1
> yaffs_put_inode: ino 391, count 1
> yaffs_put_inode: ino 390, count 1
> yaffs_put_inode: ino 389, count 1
> yaffs_put_inode: ino 388, count 1
> yaffs_put_inode: ino 387, count 1
> yaffs_put_inode: ino 385, count 1
> yaffs_put_inode: ino 384, count 1
> yaffs_put_inode: ino 383, count 1
> yaffs_put_inode: ino 382, count 1
> yaffs_put_inode: ino 381, count 1
> yaffs_put_inode: ino 380, count 1
> yaffs_put_inode: ino 379, count 1
> yaffs_put_inode: ino 378, count 1
> yaffs_put_inode: ino 377, count 1
> yaffs_put_inode: ino 376, count 1
> yaffs_put_inode: ino 375, count 1
> yaffs_put_inode: ino 374, count 1
> yaffs_put_inode: ino 373, count 1
> yaffs_put_inode: ino 372, count 1
> yaffs_put_inode: ino 371, count 1
> yaffs_put_inode: ino 370, count 1
> yaffs_put_inode: ino 369, count 1
> yaffs_put_inode: ino 368, count 1
> yaffs_put_inode: ino 367, count 1
> yaffs_put_inode: ino 366, count 1
> yaffs_put_inode: ino 365, count 1
> yaffs_put_inode: ino 364, count 1
> yaffs_put_inode: ino 363, count 1
> yaffs_put_inode: ino 362, count 1
> yaffs_put_inode: ino 361, count 1
> yaffs_put_inode: ino 360, count 1
> yaffs_put_inode: ino 359, count 1
> yaffs_put_inode: ino 358, count 1
> yaffs_put_inode: ino 357, count 1
> yaffs_put_inode: ino 356, count 1
> yaffs_put_inode: ino 355, count 1
> yaffs_put_inode: ino 354, count 1
> yaffs_put_inode: ino 353, count 1
> yaffs_put_inode: ino 352, count 1
> yaffs_put_inode: ino 351, count 1
> yaffs_put_inode: ino 350, count 1
> yaffs_put_inode: ino 349, count 1
> yaffs_put_inode: ino 348, count 1
> yaffs_put_inode: ino 347, count 1
> yaffs_put_inode: ino 346, count 1
> yaffs_put_inode: ino 345, count 1
> yaffs_put_inode: ino 344, count 1
> yaffs_put_inode: ino 343, count 1
> yaffs_put_inode: ino 342, count 1
> yaffs_put_inode: ino 341, count 1
> yaffs_put_inode: ino 340, count 1
> yaffs_put_inode: ino 339, count 1
> yaffs_put_inode: ino 338, count 1
> yaffs_put_inode: ino 337, count 1
> yaffs_put_inode: ino 336, count 1
> yaffs_put_inode: ino 335, count 1
> yaffs_put_inode: ino 334, count 1
> yaffs_put_inode: ino 333, count 1
> yaffs_put_inode: ino 332, count 1
> yaffs_put_inode: ino 331, count 1
> yaffs_put_inode: ino 330, count 1
> yaffs_put_inode: ino 329, count 1
> yaffs_put_inode: ino 328, count 1
> yaffs_put_inode: ino 327, count 1
> yaffs_put_inode: ino 326, count 1
> yaffs_put_inode: ino 325, count 1
> yaffs_put_inode: ino 324, count 1
> yaffs_put_inode: ino 323, count 1
> yaffs_put_inode: ino 322, count 1
> yaffs_put_inode: ino 321, count 1
> yaffs_put_inode: ino 320, count 1
> yaffs_put_inode: ino 319, count 1
> yaffs_put_inode: ino 318, count 1
> yaffs_put_inode: ino 317, count 1
> yaffs_put_inode: ino 316, count 1
> yaffs_put_inode: ino 315, count 1
> yaffs_put_inode: ino 314, count 1
> yaffs_put_inode: ino 313, count 1
> yaffs_put_inode: ino 312, count 1
> yaffs_put_inode: ino 311, count 1
> yaffs_put_inode: ino 310, count 1
> yaffs_put_inode: ino 309, count 1
> yaffs_put_inode: ino 308, count 1
> yaffs_put_inode: ino 307, count 1
> yaffs_put_inode: ino 306, count 1
> yaffs_put_inode: ino 305, count 1
> yaffs_put_inode: ino 303, count 1
> yaffs_put_inode: ino 304, count 1
> yaffs_put_inode: ino 302, count 1
> yaffs_put_inode: ino 301, count 1
> yaffs_put_inode: ino 300, count 1
> yaffs_put_inode: ino 299, count 1
> yaffs_put_inode: ino 298, count 1
> yaffs_put_inode: ino 297, count 1
> yaffs_put_inode: ino 296, count 1
> yaffs_put_inode: ino 295, count 1
> yaffs_put_inode: ino 294, count 1
> yaffs_put_inode: ino 293, count 1
> yaffs_put_inode: ino 292, count 1
> yaffs_put_inode: ino 291, count 1
> yaffs_put_inode: ino 290, count 1
> yaffs_put_inode: ino 289, count 1
> yaffs_put_inode: ino 288, count 1
> yaffs_put_inode: ino 287, count 1
> yaffs_put_inode: ino 286, count 1
> yaffs_put_inode: ino 285, count 1
> yaffs_put_inode: ino 284, count 1
> yaffs_put_inode: ino 283, count 1
> yaffs_put_inode: ino 282, count 1
> yaffs_put_inode: ino 281, count 1
> yaffs_put_inode: ino 280, count 1
> yaffs_put_inode: ino 279, count 1
> yaffs_put_inode: ino 278, count 1
> yaffs_put_inode: ino 277, count 1
> yaffs_put_inode: ino 260, count 1
> yaffs_put_inode: ino 1, count 1
> yaffs_clear_inode: ino 386, count 0 object exists
> yaffs_clear_inode: ino 393, count 0 object exists
> yaffs_clear_inode: ino 392, count 0 object exists
> yaffs_clear_inode: ino 391, count 0 object exists
> yaffs_clear_inode: ino 390, count 0 object exists
> yaffs_clear_inode: ino 389, count 0 object exists
> yaffs_clear_inode: ino 388, count 0 object exists
> yaffs_clear_inode: ino 387, count 0 object exists
> yaffs_clear_inode: ino 385, count 0 object exists
> yaffs_clear_inode: ino 384, count 0 object exists
> yaffs_clear_inode: ino 383, count 0 object exists
> yaffs_clear_inode: ino 382, count 0 object exists
> yaffs_clear_inode: ino 381, count 0 object exists
> yaffs_clear_inode: ino 380, count 0 object exists
> yaffs_clear_inode: ino 379, count 0 object exists
> yaffs_clear_inode: ino 378, count 0 object exists
> yaffs_clear_inode: ino 377, count 0 object exists
> yaffs_clear_inode: ino 376, count 0 object exists
> yaffs_clear_inode: ino 375, count 0 object exists
> yaffs_clear_inode: ino 374, count 0 object exists
> yaffs_clear_inode: ino 373, count 0 object exists
> yaffs_clear_inode: ino 372, count 0 object exists
> yaffs_clear_inode: ino 371, count 0 object exists
> yaffs_clear_inode: ino 370, count 0 object exists
> yaffs_clear_inode: ino 369, count 0 object exists
> yaffs_clear_inode: ino 368, count 0 object exists
> yaffs_clear_inode: ino 367, count 0 object exists
> yaffs_clear_inode: ino 366, count 0 object exists
> yaffs_clear_inode: ino 365, count 0 object exists
> yaffs_clear_inode: ino 364, count 0 object exists
> yaffs_clear_inode: ino 363, count 0 object exists
> yaffs_clear_inode: ino 362, count 0 object exists
> yaffs_clear_inode: ino 361, count 0 object exists
> yaffs_clear_inode: ino 360, count 0 object exists
> yaffs_clear_inode: ino 359, count 0 object exists
> yaffs_clear_inode: ino 358, count 0 object exists
> yaffs_clear_inode: ino 357, count 0 object exists
> yaffs_clear_inode: ino 356, count 0 object exists
> yaffs_clear_inode: ino 355, count 0 object exists
> yaffs_clear_inode: ino 354, count 0 object exists
> yaffs_clear_inode: ino 353, count 0 object exists
> yaffs_clear_inode: ino 352, count 0 object exists
> yaffs_clear_inode: ino 351, count 0 object exists
> yaffs_clear_inode: ino 350, count 0 object exists
> yaffs_clear_inode: ino 349, count 0 object exists
> yaffs_clear_inode: ino 348, count 0 object exists
> yaffs_clear_inode: ino 347, count 0 object exists
> yaffs_clear_inode: ino 346, count 0 object exists
> yaffs_clear_inode: ino 345, count 0 object exists
> yaffs_clear_inode: ino 344, count 0 object exists
> yaffs_clear_inode: ino 343, count 0 object exists
> yaffs_clear_inode: ino 342, count 0 object exists
> yaffs_clear_inode: ino 341, count 0 object exists
> yaffs_clear_inode: ino 340, count 0 object exists
> yaffs_clear_inode: ino 339, count 0 object exists
> yaffs_clear_inode: ino 338, count 0 object exists
> yaffs_clear_inode: ino 337, count 0 object exists
> yaffs_clear_inode: ino 336, count 0 object exists
> yaffs_clear_inode: ino 335, count 0 object exists
> yaffs_clear_inode: ino 334, count 0 object exists
> yaffs_clear_inode: ino 333, count 0 object exists
> yaffs_clear_inode: ino 332, count 0 object exists
> yaffs_clear_inode: ino 331, count 0 object exists
> yaffs_clear_inode: ino 330, count 0 object exists
> yaffs_clear_inode: ino 329, count 0 object exists
> yaffs_clear_inode: ino 328, count 0 object exists
> yaffs_clear_inode: ino 327, count 0 object exists
> yaffs_clear_inode: ino 326, count 0 object exists
> yaffs_clear_inode: ino 325, count 0 object exists
> yaffs_clear_inode: ino 324, count 0 object exists
> yaffs_clear_inode: ino 323, count 0 object exists
> yaffs_clear_inode: ino 322, count 0 object exists
> yaffs_clear_inode: ino 321, count 0 object exists
> yaffs_clear_inode: ino 320, count 0 object exists
> yaffs_clear_inode: ino 319, count 0 object exists
> yaffs_clear_inode: ino 318, count 0 object exists
> yaffs_clear_inode: ino 317, count 0 object exists
> yaffs_clear_inode: ino 316, count 0 object exists
> yaffs_clear_inode: ino 315, count 0 object exists
> yaffs_clear_inode: ino 314, count 0 object exists
> yaffs_clear_inode: ino 313, count 0 object exists
> yaffs_clear_inode: ino 312, count 0 object exists
> yaffs_clear_inode: ino 311, count 0 object exists
> yaffs_clear_inode: ino 310, count 0 object exists
> yaffs_clear_inode: ino 309, count 0 object exists
> yaffs_clear_inode: ino 308, count 0 object exists
> yaffs_clear_inode: ino 307, count 0 object exists
> yaffs_clear_inode: ino 306, count 0 object exists
> yaffs_clear_inode: ino 305, count 0 object exists
> yaffs_clear_inode: ino 303, count 0 object exists
> yaffs_clear_inode: ino 304, count 0 object exists
> yaffs_clear_inode: ino 302, count 0 object exists
> yaffs_clear_inode: ino 301, count 0 object exists
> yaffs_clear_inode: ino 300, count 0 object exists
> yaffs_clear_inode: ino 299, count 0 object exists
> yaffs_clear_inode: ino 298, count 0 object exists
> yaffs_clear_inode: ino 297, count 0 object exists
> yaffs_clear_inode: ino 296, count 0 object exists
> yaffs_clear_inode: ino 295, count 0 object exists
> yaffs_clear_inode: ino 294, count 0 object exists
> yaffs_clear_inode: ino 293, count 0 object exists
> yaffs_clear_inode: ino 292, count 0 object exists
> yaffs_clear_inode: ino 291, count 0 object exists
> yaffs_clear_inode: ino 290, count 0 object exists
> yaffs_clear_inode: ino 289, count 0 object exists
> yaffs_clear_inode: ino 288, count 0 object exists
> yaffs_clear_inode: ino 287, count 0 object exists
> yaffs_clear_inode: ino 286, count 0 object exists
> yaffs_clear_inode: ino 285, count 0 object exists
> yaffs_clear_inode: ino 284, count 0 object exists
> yaffs_clear_inode: ino 283, count 0 object exists
> yaffs_clear_inode: ino 282, count 0 object exists
> yaffs_clear_inode: ino 281, count 0 object exists
> yaffs_clear_inode: ino 280, count 0 object exists
> yaffs_clear_inode: ino 279, count 0 object exists
> yaffs_clear_inode: ino 278, count 0 object exists
> yaffs_clear_inode: ino 277, count 0 object exists
> yaffs_clear_inode: ino 260, count 0 object exists
> yaffs_clear_inode: ino 1, count 0 object exists
> ~ #