From: Sage Weil Date: Thu, 24 Jun 2010 19:55:48 +0000 (-0700) Subject: ceph: fix crush recursion X-Git-Tag: firefly_0821_release~9833^2~1386^2~12 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=55bda7aacd13f5fdfeaafc16934953171405c692;p=firefly-linux-kernel-4.4.55.git ceph: fix crush recursion There was a longstanding problem with recursion through intervening bucket types on complex hierarchies. Signed-off-by: Sage Weil --- diff --git a/fs/ceph/crush/mapper.c b/fs/ceph/crush/mapper.c index 9ba54efb6543..804e6d53b77c 100644 --- a/fs/ceph/crush/mapper.c +++ b/fs/ceph/crush/mapper.c @@ -366,6 +366,7 @@ static int crush_choose(struct crush_map *map, BUG_ON(item >= 0 || (-1-item) >= map->max_buckets); in = map->buckets[-1-item]; + retry_bucket = 1; continue; }