Signed-off-by: Sage Weil <sage.weil@dreamhost.com>
}
stringstream ss;
- ss << overall << " " << combined;
+ ss << overall;
+ if (combined.length())
+ ss << " " << combined;
rs = ss.str();
r = 0;
}
int num_in_osds = osdmap.get_num_in_osds();
if (num_osds == 0) {
- ss << " no osds";
+ ss << "no osds";
ret = HEALTH_ERR;
- }
- else if ((num_up_osds != num_osds) ||
- (num_in_osds != num_osds)) {
- ss << " " << num_up_osds << "/" << num_in_osds << "/" << num_osds << " osds up/in";
- ret = HEALTH_WARN;
+ } else {
+ if (num_up_osds < num_osds) {
+ ss << (num_osds - num_up_osds) << "/" << num_osds << " osds down";
+ ret = HEALTH_WARN;
+ }
+ if (num_in_osds < num_osds) {
+ if (ret != HEALTH_OK)
+ ss << ", ";
+ ss << (num_osds - num_in_osds) << "/" << num_osds << " osds out";
+ ret = HEALTH_WARN;
+ }
}
return ret;
}