complete_and_exit() problem
David Woodhouse
dwmw2 at infradead.org
Tue Sep 4 04:25:09 EDT 2001
jlavi at iki.fi said:
> The garbage collection thread crashes when I unmount JFFS2. The
> filesystem is empry and I only mount it and then unmount it. I am
> using kernel 2.4.8ac12 with rmk1 patch for ARM cpu.
> I traced the exeution to complete_and_exit(), then to complete(), then
> to __wake_up_common(). In __wake_up_common() there is a loop
<deletia -
http://lists.infradead.org/pipermail/linux-mtd/2001-September/003117.html >
> I tried replacing
> - if (comp)
> + if (comp && comp->wait.task_list.next)
> in complete_and_exit(). I don't know if it is the right way to do it,
> but at least the garbage gollection thread stopped crashing.
Looks like the list_head is uninitialised - we're in complete()
before anything's ever called init_completion().
ISTR this was the reason I bailed out on doing a quick fix for -ac before
disappearing to OLS.
--
dwmw2
More information about the linux-mtd
mailing list