summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/md/bcache/btree_iter.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/md/bcache/btree_iter.c b/drivers/md/bcache/btree_iter.c
index b52f40cdf34b..ccd39883048f 100644
--- a/drivers/md/bcache/btree_iter.c
+++ b/drivers/md/bcache/btree_iter.c
@@ -628,6 +628,15 @@ retry:
ret = btree_iter_down(iter, pos, &cl);
if (unlikely(ret)) {
+ /*
+ * XXX this is wrong:
+ *
+ * we're not unlocking linked iterators - which
+ * means we're blocking on mca_cannibalize_lock
+ * with btree nodes locked -> deadlock
+ *
+ */
+
bch_btree_iter_unlock(iter);
closure_sync(&cl);