Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
osd/OSDMap: improve upmap calculation #14902
The current version does not remap across hosts or racks (or other intervening
On a test map (lab cluster) I'm able to get all devices to +/- 1 PG.
Also fix a bug or two.
For each type in the "stack" we are building a vector of distinct items (just like crush would). Those items still have to be unique. In _choose_type_stack we try to swap out overfull items (leaves as before, now also buckets) for underfull items, but those swaps still check to make sure the items in the vector are unique. So if the stack is something like [(host,3),(device,1)] we'll still get three unique hosts.. it just might be a different host (and device).