bcache: Fix a lockdep splat
authorKent Overstreet <kmo@daterainc.com>
Fri, 25 Oct 2013 00:12:52 +0000 (17:12 -0700)
committerKent Overstreet <kmo@daterainc.com>
Mon, 11 Nov 2013 05:55:54 +0000 (21:55 -0800)
bch_keybuf_del() takes a spinlock that can't be taken in interrupt context -
whoops. Fortunately, this code isn't enabled by default (you have to toggle a
sysfs thing).

Signed-off-by: Kent Overstreet <kmo@daterainc.com>
drivers/md/bcache/movinggc.c

index 1a3b4f4786c3cee411d16c3a9a453e1fcd33b681..dd8a035c5ae1c9f95b9cf41c07a70489dd5f785a 100644 (file)
@@ -113,7 +113,7 @@ static void write_moving(struct closure *cl)
                bch_insert_data(&s->op.cl);
        }
 
-       continue_at(cl, write_moving_finish, NULL);
+       continue_at(cl, write_moving_finish, bch_gc_wq);
 }
 
 static void read_moving_submit(struct closure *cl)