Uploaded November 2025 | Updated September 2026, 2 weeks ago
MSR(Mutli-Step Retry): An Generalization of CRUSH Allowing Multiple OSDs Per Failure Domain - Sam Just, IBM
There are use cases where one might, for example, want to spread an 8+6 erasure coded pool such that no host (or rack) has more than 4 shards. Existing CRUSH rules struggle with this because CHOOSELEAF is the only way to allow an out OSD to be mapped to another failure domain, but CHOOSELEAF does not allow the placement of more than one OSD per failure domain. MSR rules generalize the CRUSH algorithm to allow retrying the full sequence of selections while still respecting placement limitations. This talk will describe the algorithm, implementation, and use cases.
MSR(Mutli-Step Retry): An Generalization of CRUSH Allowing Multiple OSDs Per Failure Domain - Sam Just, IBM
There are use cases where one might, for example, want to spread an 8+6 erasure coded pool such that no host (or rack) has more than 4 shards. Existing CRUSH rules struggle with this because CHOOSELEAF is the only way to allow an out OSD to be mapped to another failure domain, but CHOOSELEAF does not allow the placement of more than one OSD per failure domain. MSR rules generalize the CRUSH algorithm to allow retrying the full sequence of selections while still respecting placement limitations. This talk will describe the algorithm, implementation, and use cases.










