diff options
author | Joakim Tjernlund <joakim.tjernlund@transmode.se> | 2010-05-19 17:55:40 +0200 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2010-05-19 17:55:40 +0200 |
commit | d6ce171069635f05737935adc813b4d48d71a583 (patch) | |
tree | b0356df55a3d86cf9f5074ea926294fd3a206607 /fs/jffs2/nodemgmt.c | |
parent | jffs2: Erase pending blocks in GC pass, avoid invalid -EIO return (diff) | |
download | linux-d6ce171069635f05737935adc813b4d48d71a583.tar.xz linux-d6ce171069635f05737935adc813b4d48d71a583.zip |
jffs2: Wake GC thread when there are blocks to be erased
Now that we trigger block erases from jffs2_garbage_collect_pass(),
adjust jffs2_thread_should_wake() to return 1 when there are blocks to
erase.
Signed-off-by: Joakim Tjernlund <joakim.tjernlund@transmode.se>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'fs/jffs2/nodemgmt.c')
-rw-r--r-- | fs/jffs2/nodemgmt.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/jffs2/nodemgmt.c b/fs/jffs2/nodemgmt.c index 08e2c69fc147..5ab5c8521cdf 100644 --- a/fs/jffs2/nodemgmt.c +++ b/fs/jffs2/nodemgmt.c @@ -744,6 +744,10 @@ int jffs2_thread_should_wake(struct jffs2_sb_info *c) int nr_very_dirty = 0; struct jffs2_eraseblock *jeb; + if (!list_empty(&c->erase_complete_list) || + !list_empty(&c->erase_pending_list)) + return 1; + if (c->unchecked_size) { D1(printk(KERN_DEBUG "jffs2_thread_should_wake(): unchecked_size %d, checked_ino #%d\n", c->unchecked_size, c->checked_ino)); |