Abnormal behavior with JFFS2 on latest kernel

Joakim Tjernlund joakim.tjernlund at transmode.se
Fri Feb 15 03:59:11 EST 2008


On Fri, 2008-02-15 at 17:56 +0900, Kyungmin Park wrote:
> > > 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.

Nope, the patch is probably named 
"[JFFS2] Stop erasing blocks when rebooting."

  Jocke



More information about the linux-mtd mailing list