summaryrefslogtreecommitdiffstats
path: root/drivers/md/bcache
diff options
context:
space:
mode:
authorSlava Pestov <sp@daterainc.com>2014-05-20 21:20:28 +0200
committerKent Overstreet <kmo@daterainc.com>2014-08-05 00:23:03 +0200
commita664d0f05a2ec02c8f042db536d84d15d6e19e81 (patch)
treea3edc9ae887c29918be9e17080511bde24c74c89 /drivers/md/bcache
parentbcache: fix lockdep warnings on shutdown (diff)
downloadlinux-a664d0f05a2ec02c8f042db536d84d15d6e19e81.tar.xz
linux-a664d0f05a2ec02c8f042db536d84d15d6e19e81.zip
bcache: fix crash on shutdown in passthrough mode
We never started the writeback thread in this case, so don't stop it.
Diffstat (limited to 'drivers/md/bcache')
-rw-r--r--drivers/md/bcache/super.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
index 09573c2bcb5d..6ceaec35b871 100644
--- a/drivers/md/bcache/super.c
+++ b/drivers/md/bcache/super.c
@@ -1071,7 +1071,8 @@ static void cached_dev_free(struct closure *cl)
struct cached_dev *dc = container_of(cl, struct cached_dev, disk.cl);
cancel_delayed_work_sync(&dc->writeback_rate_update);
- kthread_stop(dc->writeback_thread);
+ if (!IS_ERR_OR_NULL(dc->writeback_thread))
+ kthread_stop(dc->writeback_thread);
mutex_lock(&bch_register_lock);