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