]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crush: fix recursion through intervening types
authorSage Weil <sage@newdream.net>
Thu, 24 Jun 2010 17:42:20 +0000 (10:42 -0700)
committerSage Weil <sage@newdream.net>
Thu, 24 Jun 2010 17:42:20 +0000 (10:42 -0700)
This fixes pretty core behavior when doing recursion down the tree.  I
suspect it was broken when changing the retry behavior.

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

index 1a335ea19c293ed0d0b60eff866192f40341f872..374266bddd9ca92883dec6f0368c3198c6c0032a 100644 (file)
@@ -368,6 +368,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;
                                }