sync() takes minutes while erasing
Joakim Tjernlund
joakim.tjernlund at transmode.se
Thu Jun 28 14:59:51 EDT 2007
> -----Original Message-----
> From: David Woodhouse [mailto:dwmw2 at infradead.org]
> Sent: den 28 juni 2007 20:54
> To: joakim.tjernlund at transmode.se
> Cc: Linux MTD mailing list
> Subject: Re: sync() takes minutes while erasing
>
> On Wed, 2007-06-20 at 16:49 +0200, Joakim Tjernlund wrote:
> > Ok, found the cause:
> > jffs2_erase_pending_blocks(c, 0) is called from
> > jffs2_write_super() and it hangs until all
> > pending erases are complete.
> >
> > Why do jffs2_write_super() need to call
> > jffs2_erase_pending_blocks(c, 0)? Seems like a bad idea to me.
>
> It's because pdflush is the best context I could find for
> actually doing
> the erases we need. But now I think we can use pdflush_operation()
> instead of having to do it from write_super(), so maybe we can fix the
> thing that offends you.
Thanks, this stop the complaints from the test team. They
don't like to wait a few mins every time they delete an old install
and reboot.
Jocke
More information about the linux-mtd
mailing list