diff --git a/net/ceph/crush/mapper.c b/net/ceph/crush/mapper.c
index 436102a8a4619dd769cc00fa2401fa426e931262..583f644b0e2845bc6516423a81a17ba95ef0225a 100644
--- a/net/ceph/crush/mapper.c
+++ b/net/ceph/crush/mapper.c
@@ -415,7 +415,7 @@ static int crush_choose(const struct crush_map *map,
 					if (collide && flocal < 3)
 						/* retry locally a few times */
 						retry_bucket = 1;
-					else if (flocal < in->size + orig_tries)
+					else if (flocal <= in->size + orig_tries)
 						/* exhaustive bucket search */
 						retry_bucket = 1;
 					else if (ftotal < 20)