[PATCH 2/2] s/jffs2_erase_pending_trigger/jffs2_garbage_collect_trigger/

Joakim Tjernlund joakim.tjernlund at transmode.se
Tue Feb 16 04:32:10 EST 2010


Artem Bityutskiy <dedekind1 at gmail.com> wrote on 2010/02/16 09:59:49:
>
> On Mon, 2010-02-15 at 17:03 +0100, Joakim Tjernlund wrote:
> > Since erasing is done in GC now, trigger GC instead.
> > jffs2_erase_pending_trigger() renamed to jffs2_dirty_trigger() and
> > used by wbuf. Remove call jffs2_garbage_collect_trigger() in
> > write_super()
> >
> > Signed-off-by: Joakim Tjernlund <Joakim.Tjernlund at transmode.se>
> > ---
> >  fs/jffs2/erase.c    |    4 +---
> >  fs/jffs2/gc.c       |    2 +-
> >  fs/jffs2/nodemgmt.c |    4 ++--
> >  fs/jffs2/os-linux.h |    2 +-
> >  fs/jffs2/scan.c     |    2 +-
> >  fs/jffs2/super.c    |    1 -
> >  fs/jffs2/wbuf.c     |    8 ++++----
> >  7 files changed, 10 insertions(+), 13 deletions(-)
> >
> > diff --git a/fs/jffs2/erase.c b/fs/jffs2/erase.c
> > index 1ca2559..fdf9418 100644
> > --- a/fs/jffs2/erase.c
> > +++ b/fs/jffs2/erase.c
> > @@ -172,8 +172,6 @@ static void jffs2_erase_succeeded(struct jffs2_sb_info
> *c, struct jffs2_eraseblo
> >     list_move_tail(&jeb->list, &c->erase_complete_list);
> >     spin_unlock(&c->erase_completion_lock);
> >     mutex_unlock(&c->erase_free_sem);
> > -   /* Ensure that kupdated calls us again to mark them clean */
> > -   jffs2_erase_pending_trigger(c);
> >  }
> >
> >  static void jffs2_erase_failed(struct jffs2_sb_info *c, struct
> jffs2_eraseblock *jeb, uint32_t bad_offset)
> > @@ -492,7 +490,7 @@ filebad:
> >
> >  refile:
> >     /* Stick it back on the list from whence it came and come back later */
> > -   jffs2_erase_pending_trigger(c);
> > +   jffs2_garbage_collect_trigger(c);
>
> But then you make the code more confusing. Indeed, readability becomes
> worse.
>
> I would just change 'jffs2_erase_pending_trigger()' and make it wake up
> the GC thread, just like 'jffs2_garbage_collect_trigger()'...

Depends on your point of view, I think erasing blocks is GC so to
me it makes sense. However I acknowledge that erasing is different from
other forms of GC so I can change it back if you really want me too.

I will have to keep jffs2_dirty_trigger() though as wbuf needs to
a way to flush its buffer.

 Jocke




More information about the linux-mtd mailing list