summaryrefslogtreecommitdiff
path: root/drivers/md/bcache/super.c
diff options
context:
space:
mode:
authorKent Overstreet <kmo@daterainc.com>2014-02-20 03:48:26 (GMT)
committerKent Overstreet <kmo@daterainc.com>2014-02-26 02:42:49 (GMT)
commitdabb44334060b4b84051b34c58573e57cc7432b2 (patch)
tree7372c3f3d4d6309c4ee4214494f93c6e7fcc3d58 /drivers/md/bcache/super.c
parent1b4eaf3d3809a658c85911e92d9ff64086931efa (diff)
downloadlinux-dabb44334060b4b84051b34c58573e57cc7432b2.tar.xz
bcache: Fix a shutdown bug
Shutdown wasn't cancelling/waiting on journal_write_work() Signed-off-by: Kent Overstreet <kmo@daterainc.com>
Diffstat (limited to 'drivers/md/bcache/super.c')
-rw-r--r--drivers/md/bcache/super.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
index 24a3a15..c70521f 100644
--- a/drivers/md/bcache/super.c
+++ b/drivers/md/bcache/super.c
@@ -1403,6 +1403,10 @@ static void cache_set_flush(struct closure *cl)
if (ca->alloc_thread)
kthread_stop(ca->alloc_thread);
+ cancel_delayed_work_sync(&c->journal.work);
+ /* flush last journal entry if needed */
+ c->journal.work.work.func(&c->journal.work.work);
+
closure_return(cl);
}