Commit 9723152a authored by Joakim Tjernlund's avatar Joakim Tjernlund Committed by David Woodhouse

jffs2: Stop triggering block erases from jffs2_write_super()

This is the culmination of this sequence of patches. By moving the block
erasing from jffs2_write_super() into the GC code, we avoid huge
latencies on unmount where it waits for _all_ pending blocks to be
erased, and we allow better control for time-critical tasks by stopping
the GC thread.
Signed-off-by: default avatarJoakim Tjernlund <joakim.tjernlund@transmode.se>
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent 64a5c2eb
...@@ -63,10 +63,6 @@ static void jffs2_write_super(struct super_block *sb) ...@@ -63,10 +63,6 @@ static void jffs2_write_super(struct super_block *sb)
if (!(sb->s_flags & MS_RDONLY)) { if (!(sb->s_flags & MS_RDONLY)) {
D1(printk(KERN_DEBUG "jffs2_write_super()\n")); D1(printk(KERN_DEBUG "jffs2_write_super()\n"));
spin_lock(&c->erase_completion_lock);
jffs2_garbage_collect_trigger(c);
spin_unlock(&c->erase_completion_lock);
jffs2_erase_pending_blocks(c, 0);
jffs2_flush_wbuf_gc(c, 0); jffs2_flush_wbuf_gc(c, 0);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment