This might happen if, e.g., the file_layout specifies an osd that later
is removed from the cluster entirely. Just ignore it instead of making
upper layers duplicate this check.
Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
if (force >= map->max_devices ||
map->device_parents[force] == 0) {
/*dprintk("CRUSH: forcefed device dne\n");*/
- rc = -1; /* force fed device dne */
- goto out;
+ force = -1; /* force fed device dne */
}
- if (!is_out(map, weight, force, x)) {
+ else if (!is_out(map, weight, force, x)) {
while (1) {
force_context[++force_pos] = force;
if (force >= 0)