endless calls to jffs_garbage_collect_trigger

Clive Davies cdavies at altera.com
Thu Sep 27 10:15:00 EDT 2001


In my system I'm using kernel 2.4.9-ac10-rmk2 on an ARM based system,
booting from a jffs flash root filesystem using a hacked compaq bootldr.
During the boot sequence, after freeing the Init memory the kernel gets
stuck in a call to kernel_thread - kupdate - sync_old_buffers - sync_supers

It seems that sync_supers scans down the list of sb structures looking for
those with a non-zero s_dirt field. s_dirt is set for the jffs filesystem so
sync_supers calls jffs_garbage_collect_trigger and then goes back to the
start of the sb list and searches for sb stucts with their s_dirt field set
again. The problem is that the s_dirt field for the jffs sb never seems to
be cleared so it get stuck in an endless loop of calls to
jffs_garbage_collect_trigger.

I've got around the problem by forcing jffs_garbage_collect_trigger to clear
s_dirt, but as I know very little about jffs I suspect that this my not be
the best/correct solution. 

Can anyone tell me how I ought to fix this?

TIA
Clive




More information about the linux-mtd mailing list