[PATCH] jffs2: Move erasing from write_super to GC.
David Woodhouse
dwmw2 at infradead.org
Tue May 18 11:46:27 EDT 2010
On Fri, 2010-05-14 at 14:12 +0200, Joakim Tjernlund wrote:
> @@ -167,8 +170,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)
Why remove this? If you have asynchronous erases, with the erase
callback (and hence this jffs2_erase_succeeded function) getting called
asynchronously, then we _do_ want to trigger the GC thread to run, to
that it can write the cleanmarker to the block and refile it on the
empty_list.
--
dwmw2
More information about the linux-mtd
mailing list