Эх сурвалжийг харах

crush: avoid recursion if we have already collided

This saves us some cycles, but does not affect the placement result at
all.

This corresponds to ceph.git commit 4abb53d4f.

Signed-off-by: Sage Weil <sage@inktank.com>
Sage Weil 12 жил өмнө
parent
commit
7d7c1f6136

+ 1 - 1
net/ceph/crush/mapper.c

@@ -392,7 +392,7 @@ static int crush_choose(const struct crush_map *map,
 				}
 				}
 
 
 				reject = 0;
 				reject = 0;
-				if (recurse_to_leaf) {
+				if (!collide && recurse_to_leaf) {
 					if (item < 0) {
 					if (item < 0) {
 						if (crush_choose(map,
 						if (crush_choose(map,
 							 map->buckets[-1-item],
 							 map->buckets[-1-item],