diff options
author | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2010-05-19 12:16:11 -0400 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2010-05-19 12:16:11 -0400 |
commit | 9723152ad1efb844445e63f052e6d39e85e11649 (patch) | |
tree | 9abe25074d3c64f06859f0cba3b33c758a91d090 | |
parent | 64a5c2eb82d2a626116fde8a0ea3bb39a3f4f233 (diff) |
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: Joakim Tjernlund <joakim.tjernlund@transmode.se>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
-rw-r--r-- | fs/jffs2/super.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/fs/jffs2/super.c b/fs/jffs2/super.c index 12cc967c5c03..511e2d609d12 100644 --- a/fs/jffs2/super.c +++ b/fs/jffs2/super.c | |||
@@ -63,10 +63,6 @@ static void jffs2_write_super(struct super_block *sb) | |||
63 | 63 | ||
64 | if (!(sb->s_flags & MS_RDONLY)) { | 64 | if (!(sb->s_flags & MS_RDONLY)) { |
65 | D1(printk(KERN_DEBUG "jffs2_write_super()\n")); | 65 | D1(printk(KERN_DEBUG "jffs2_write_super()\n")); |
66 | spin_lock(&c->erase_completion_lock); | ||
67 | jffs2_garbage_collect_trigger(c); | ||
68 | spin_unlock(&c->erase_completion_lock); | ||
69 | jffs2_erase_pending_blocks(c, 0); | ||
70 | jffs2_flush_wbuf_gc(c, 0); | 66 | jffs2_flush_wbuf_gc(c, 0); |
71 | } | 67 | } |
72 | 68 | ||