diff --git a/drivers/md/bcache/btree.c b/drivers/md/bcache/btree.c index 24e70ee342f0df8f9566f1758a44b4e2b6ae81bd..2b2621a6092c27a49d1d5bc1d8ac2e4084744ee6 100644 --- a/drivers/md/bcache/btree.c +++ b/drivers/md/bcache/btree.c @@ -1062,10 +1062,12 @@ struct btree *__bch_btree_node_alloc(struct cache_set *c, struct btree_op *op, struct btree *parent) { BKEY_PADDED(key) k; - struct btree *b = ERR_PTR(-EAGAIN); + struct btree *b; mutex_lock(&c->bucket_lock); retry: + /* return ERR_PTR(-EAGAIN) when it fails */ + b = ERR_PTR(-EAGAIN); if (__bch_bucket_alloc_set(c, RESERVE_BTREE, &k.key, 1, wait)) goto err;