]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
ceph: fix crush recursion
authorSage Weil <sage@newdream.net>
Thu, 24 Jun 2010 19:55:48 +0000 (12:55 -0700)
committerSage Weil <sage@newdream.net>
Thu, 24 Jun 2010 19:55:48 +0000 (12:55 -0700)
There was a longstanding problem with recursion through intervening
bucket types on complex hierarchies.

Signed-off-by: Sage Weil <sage@newdream.net>
fs/ceph/crush/mapper.c

index 9ba54efb6543c47668db6966e8c1da6b699d75ec..804e6d53b77c3df2817a792109238aeafb7f1681 100644 (file)
@@ -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;
                                }