[Yaffs] Not removing all files with "rm -rf", getting "Direc…

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: JoSH Lehan
Date:  
To: yaffs
Subject: [Yaffs] Not removing all files with "rm -rf", getting "Directory not empty" error
Hello! Sending this email again, because it might have been eaten by
the spamfilter. Removing the URL and trying again, sorry for any
double-posting.

I'm running the yaffs2 filesystem on an ARM board, under Linux
2.6.32.10 kernel, using the yaffs2 git snapshot from 2010-03-29. The
"rm" command is from Busybox 1.13.1.

My problem is this: When I do "rm -rf dir", on a directory, it won't
delete every file. It will error out with "Directory not empty"
errors.

The directory that it has trouble with, is the largest on the
filesystem. It has 153 files and 5 subdirectories, for a total of 158
file objects. When the error happens, it deletes most, but not all,
of them. It leaves behind 8 files, and no subdirectories. Strange.
Is 150 a magic number within yaffs2?

If I repeat the "rm -rf dir" command again, immediately afterwards, it
succeeds. All files are correctly deleted.

The NAND on this board appears to be working normally, no errors are
logged, except for the usual handful of known-bad blocks that are
correctly detected at yaffs2 mount time (and correctly skipped over).

Is this a bug in yaffs2? I saw it mentioned on this mailing list, a
fairly long time ago. Google for "zhen feng yaffs" and you'll find
it. It's dated 2005-09-12.

That was the only mention I could find. Has anybody else also
experienced this issue?

Thanks!

Josh Lehan