sync() takes minutes while erasing

Joakim Tjernlund joakim.tjernlund at transmode.se
Thu Nov 8 12:20:32 EST 2007


On Thu, 2007-11-08 at 17:37 +0100, Joakim Tjernlund wrote:
> On Wed, 2007-08-08 at 15:06 +0200, Joakim Tjernlund wrote:
> > On Mon, 2007-08-06 at 18:18 +0200, Joakim Tjernlund wrote:
> > > On Mon, 2007-07-02 at 14:58 +0200, Joakim Tjernlund wrote:
> > > > On Thu, 2007-06-28 at 20:02 +0100, David Woodhouse wrote:
> > > > > On Thu, 2007-06-28 at 20:59 +0200, Joakim Tjernlund wrote:
> > > > > > 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.
> > > > > 
> > > > > This is what the rest of us use 'flash_eraseall -j' for, btw :)
> > > > > 
> > > > > But I'll look into it. If we can do the erases from some other context
> > > > > it would be nice. Although pdflush_operation() doesn't seem to give us
> > > > > any way to _stop_ a pending call if we unmount.
> > 
> > hmm, can't jffs2_erase_pending_blocks() see if a unmount is in progress
> > and if so, stop erasing blocks? 
> 
> Any hints on the "unmount is in progress" idea? I have a few
> hours to spare for this ATM.

Tried to test for sb->s_flags & MS_ACTIVE but that didn't work.
Maybe it will work if jffs2_erase_pending_blocks() is moved to
pdflush_operation() context? Dunno how to do that though.

 Jocke



More information about the linux-mtd mailing list