public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* Cannot remove child on JFFS2 FS with latest CVS
@ 2002-08-28 14:27 olivier.eribon
  2002-08-28 14:31 ` David Woodhouse
  0 siblings, 1 reply; 2+ messages in thread
From: olivier.eribon @ 2002-08-28 14:27 UTC (permalink / raw)
  To: linux-mtd; +Cc: tglx

Hello,

Now with latest CVS Aug 28 2002, and 2.4.17 linux kernel on a specific 
board (ppc405gp with a nand flash : Toshiba TC58256FT/DC), 
I have always the same message :

Cannot remove child "fileXXX", ino #0, because it doesn't exist

How can I solve this problem ? (because this message induce long time to
mount partition.)

Thanks in advance for your time and your help !

Best regards,

Olivier

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Cannot remove child on JFFS2 FS with latest CVS
  2002-08-28 14:27 Cannot remove child on JFFS2 FS with latest CVS olivier.eribon
@ 2002-08-28 14:31 ` David Woodhouse
  0 siblings, 0 replies; 2+ messages in thread
From: David Woodhouse @ 2002-08-28 14:31 UTC (permalink / raw)
  To: olivier.eribon; +Cc: linux-mtd, tglx

olivier.eribon@free.fr said:
>  Now with latest CVS Aug 28 2002, and 2.4.17 linux kernel on a
> specific  board (ppc405gp with a nand flash : Toshiba TC58256FT/DC),
> I have always the same message :

> Cannot remove child "fileXXX", ino #0, because it doesn't exist 

You don't have the latest code. Check the $Id$ tag in fs/jffs2/build.c.

 * $Id: build.c,v 1.38 2002/08/23 12:21:36 dwmw2 Exp $


Note the check of fd->ino which was added the first time this was reported:

		while(ic->scan->dents) {
			struct jffs2_inode_cache *child_ic;

			fd = ic->scan->dents;
			ic->scan->dents = fd->next;

			if (!fd->ino) {
				/* It's a deletion dirent. Ignore it */
				D1(printk(KERN_DEBUG "Child \"%s\" is a deletion dirent, skipping...\n", fd->name));
				jffs2_free_full_dirent(fd);
				continue;
			}
			if (!whinged) {
				whinged = 1;
				printk(KERN_NOTICE "Inode #%u was a directory with children - removing those too...\n", ic->ino);
			}

			D1(printk(KERN_DEBUG "Removing child \"%s\", ino #%u\n",
				  fd->name, fd->ino));
			
			child_ic = jffs2_get_ino_cache(c, fd->ino);
			if (!child_ic) {
				printk(KERN_NOTICE "Cannot remove child \"%s\", ino #%u, because it doesn't exist\n", fd->name, fd->ino);
				jffs2_free_full_dirent(fd);
				continue;
			}
			jffs2_free_full_dirent(fd);
			child_ic->nlink--;
		}
--
dwmw2

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-08-28 14:31 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-08-28 14:27 Cannot remove child on JFFS2 FS with latest CVS olivier.eribon
2002-08-28 14:31 ` David Woodhouse

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox