Commit a698e08c authored by Kent Overstreet's avatar Kent Overstreet Committed by Linus Torvalds

bcache: Fix a shrinker deadlock

GFP_NOIO means we could be getting called recursively - mca_alloc() ->
mca_data_alloc() - definitely can't use mutex_lock(bucket_lock) then.
Signed-off-by: default avatarKent Overstreet <>
Cc: linux-stable <> # >= v3.10
Signed-off-by: default avatarLinus Torvalds <>
parent 79e3dab9
......@@ -612,7 +612,7 @@ static unsigned long bch_mca_scan(struct shrinker *shrink,
/* Return -1 if we can't do anything right now */
if (sc->gfp_mask & __GFP_WAIT)
if (sc->gfp_mask & __GFP_IO)
else if (!mutex_trylock(&c->bucket_lock))
return -1;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment