Hi,
When the directory is NOT empty, I try to remove dir by "rmdir"
command. Normal should return fail, but YAFFS return true. The files
under this directory is lost, and the file space can not be free.
Seems "yaffs_UnlinkWorker" don't check if the directory is empty when
obj->variantType is YAFFS_OBJECT_TYPE_DIRECTORY
# # mount -t yaffs2 /dev/block/mtdblock9 /debug
# # cd /debug
# # ls -l
drw-rw-rw- root root 1970-01-01 05:31 lost+found
# # mkdir aaa
# # cp /data/flash_eraseall aaa
# # df .
.: 9216K total, 2780K used, 6436K available (block size 4096)
# # ls -l
drwxrwxrwx root root 1970-01-01 05:32 aaa
drw-rw-rw- root root 1970-01-01 05:31 lost+found
# # rm aaa
rm failed for aaa, Is a directory
# # ls -l aaa
-rwxrwxrwx root root 1660816 1970-01-01 05:32 flash_eraseall
# # rmdir aaa
# # ls -l
drw-rw-rw- root root 1970-01-01 05:31 lost+found
# # df .
.: 9216K total, 2780K used, 6436K available (block size 4096)
# #
# /data/busybox uname -a
Linux localhost 2.6.29-omap1 #1 Sun Aug 2 22:32:04 CDT 2009 armv7l
unknown
Thanks
Li Yingchao