aboutsummaryrefslogtreecommitdiffstats
path: root/fs/jffs2/super.c
diff options
context:
space:
mode:
authorJoakim Tjernlund <joakim.tjernlund@transmode.se>2010-05-19 12:16:11 -0400
committerDavid Woodhouse <David.Woodhouse@intel.com>2010-05-19 12:16:11 -0400
commit9723152ad1efb844445e63f052e6d39e85e11649 (patch)
tree9abe25074d3c64f06859f0cba3b33c758a91d090 /fs/jffs2/super.c
parent64a5c2eb82d2a626116fde8a0ea3bb39a3f4f233 (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>
Diffstat (limited to 'fs/jffs2/super.c')
-rw-r--r--fs/jffs2/super.c4
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