diff options
author | Kent Overstreet <kmo@daterainc.com> | 2014-02-19 19:48:26 -0800 |
---|---|---|
committer | Kent Overstreet <kmo@daterainc.com> | 2014-02-25 18:42:49 -0800 |
commit | dabb44334060b4b84051b34c58573e57cc7432b2 (patch) | |
tree | 7372c3f3d4d6309c4ee4214494f93c6e7fcc3d58 /drivers/md/bcache/super.c | |
parent | 1b4eaf3d3809a658c85911e92d9ff64086931efa (diff) | |
download | op-kernel-dev-dabb44334060b4b84051b34c58573e57cc7432b2.zip op-kernel-dev-dabb44334060b4b84051b34c58573e57cc7432b2.tar.gz |
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.c | 4 |
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); } |