Abnormal behavior with JFFS2 on latest kernel

Kyungmin Park kmpark at infradead.org
Fri Feb 15 03:56:56 EST 2008


> > I got following messages.
> > INFO: task pdflush:56 blocked for more than 120 seconds.
> > "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> >
> > What are the meanings?
> > Too mush running GC in JFFS2 or others?
> >
> > BR,
> > Kyungmin Park
> 
> It is probably erasing lots of blocks and that takes a while, minutes
> some times. I once sent a patch to address this but the patch is racy
> w.r.t module unload. Look in the archive after patches from me.
> 

You mean this one?
diff --git a/fs/jffs2/wbuf.c b/fs/jffs2/wbuf.c
index d1d4f27..b2e71c7 100644
--- a/fs/jffs2/wbuf.c
+++ b/fs/jffs2/wbuf.c
@@ -115,7 +115,7 @@ static inline void jffs2_refile_wbuf_blocks(struct jffs2_sb_

                D1(printk(KERN_DEBUG "Removing eraseblock at 0x%08x from erasabl
                list_del(this);
-               if ((jiffies + (n++)) & 127) {
+               if ((jiffies + (n++)) & 127 && !list_empty(&c->erasable_list)) {
                        /* Most of the time, we just erase it immediately. Other
                           spend ages scanning it on mount, etc. */
                        D1(printk(KERN_DEBUG "...and adding to erase_pending_lis

It's already applied, but it's same.

BR,
Kyungmin Park




More information about the linux-mtd mailing list