No clean _or_ dirty blocks to GC from!

Larry Doolittle ldoolitt at recycle.lbl.gov
Thu Oct 4 17:12:52 EDT 2001


On Thu, Oct 04, 2001 at 01:13:54PM -0700, Russ Dill wrote:
> On Thu, 2001-10-04 at 09:35, Larry Doolittle wrote:
> > This is really strange.  I go through the following steps:
> > 
> > 0. Run linux-2.4.9-ac10-rmk2-np1 with latest CVS MTD/JFFS2 on a
                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
> >    StrongARM with Intel 28F320B3B Flash.  /dev/mtd2 is a 1M partition.
> 
> there were some mismerges of mtd in 2.4.9-rmk2-np1 iirc, I had a problem
> of mount in checkroot.sh getting stuck in a D state. I would go to a
> newer kernel, or grab the latest mtd and put it in the kernel.

The linux-2.4.9-ac10-rmk2-np1 had its drivers/mtd, fs/jffs2, and
include/linux/mtd directories deleted, and replaced with those from CVS.
Finally, include/linux/jffs2*.h were copied over.  Is there something that
I could have mis-merged?  

Is there an obvious way to troubleshoot the mount process?  I have
a trace of the mount after giving a "echo 9 >/proc/sys/kernel/printk"
but it's kinda long.  Each block is correctly summarized, here are
the first two:
Block at 0x00000000: free 0x0000e540, dirty 0x00000000, used 0x00001ac0
Block at 0x00010000: free 0x0000fff4, dirty 0x00000000, used 0x0000000c
and of course 0x00020000 through 0x000f0000 are just like 0x00010000.

Oddly, that last run did _not_ give the "No clean _or_ dirty blocks to
GC from!" message.  printk levels 6 and 7 reproducibly give it, but
levels 8 and 9 do not.  printk levels 5 and lower are silent.  Is there
a thread synchronization issue, maybe?

     - Larry




More information about the linux-mtd mailing list