Cannot remove child "XXX", ino #13, because it doesn't exist

Martin Egholm Nielsen martin at egholm-nielsen.dk
Fri Mar 4 05:43:04 EST 2005


Hi,

>>>After removing a directory containing a lot of files, I get lots of the
>>>following messages on reboot (one for each of the files I removed):
>>>Cannot remove child "file10.txt", ino #13, because it doesn't exist
> This might happen when the deletion dirent for the directory
> is found, but the deletion dirent for the files are not found
> (which should not happen during ordinary operation).
> Exactly what command (or code) did you use to remove the file and
> directory ? 
I used busybox's "rm" like:

rm -rf directory

 > Did you umount correctly after that ?
I did a "sync"...

> Do you really get this message for each and every deleted file
> or only part of them ?
Scanning the list, I now see that this message comes "only" for 298 out 
of 999 files...

>>The problem arose after creating a directory in my JFFS2 NAND fs, and
>>creating some 1000 (small) files in it. After rebooting I removed the
>>entire directory, and at the next reboot I got the error.
> This message is a notice. It should not prevent JFFS2 from running.
> The directory and the files are considered as deleted.
The system _is_ running - I'm just a little worried about the messages...

> Just out of curiosity, do you get these messages
> "Eep. Child "fileXXXX" (ino #XXX) of dir ino #XX doesn't exist!"
 > previously to the "Cannot remove..." messages ?
Yes! I actually do - I just didn't notice due to the sever amount of 
messages (and the limited buffer of my terminal window)...

=== 8< 8< 8< ===
Eep. Child "file38.txt" (ino #41) of dir ino #3 doesn't exist!
Eep. Child "file39.txt" (ino #42) of dir ino #3 doesn't exist!
Inode #3 was a directory with children - removing those too...
=== 8< 8< 8< ===
Cannot remove child "file38.txt", ino #41, because it doesn't exist
Cannot remove child "file39.txt", ino #42, because it doesn't exist
Inode #5014 was a directory with children - removing those too...

> If you don't, it might be interesting to get a trace with
> debug enabled since the child inode cache should not disappear
> between the build_inode_pass1 and remove_unlinked_inode.
So now that I _do_ get those - should I worry? Can I do anything to make 
the message disappear...
I'm little worried that it says "removing those too...", but when I 
reboot, the messages are back again?!

BR,
  Martin





More information about the linux-mtd mailing list