diff options
author | Sage Weil <sage@newdream.net> | 2010-06-24 12:55:48 -0700 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2010-06-24 12:55:48 -0700 |
commit | 55bda7aacd13f5fdfeaafc16934953171405c692 (patch) | |
tree | 0eac30a53266f636589e4b6220409289d068625a /fs/ceph | |
parent | bfaf148eb2e42c00f1c79b2163f0804068ea0c5e (diff) | |
download | linux-55bda7aacd13f5fdfeaafc16934953171405c692.tar.gz linux-55bda7aacd13f5fdfeaafc16934953171405c692.tar.bz2 linux-55bda7aacd13f5fdfeaafc16934953171405c692.zip |
ceph: fix crush recursion
There was a longstanding problem with recursion through intervening
bucket types on complex hierarchies.
Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph')
-rw-r--r-- | fs/ceph/crush/mapper.c | 1 |
1 files changed, 1 insertions, 0 deletions
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; } |