mirror of
https://github.com/ceph/ceph
synced 2025-01-10 21:20:46 +00:00
mgr: If the requested OSD is down don't trust osd_stat info
If we have a down AND out OSD it may contains osd_stat with num_pgs == 0. When all PGs aren't active+clean we need an accurate value or we consider the osd missing stat info. Fixes: https://tracker.ceph.com/issues/38930 Signed-off-by: David Zafman <dzafman@redhat.com>
This commit is contained in:
parent
69eaaaadd0
commit
97f3b7c2e9
@ -1389,7 +1389,7 @@ bool DaemonServer::_handle_command(
|
||||
if (num_active_clean < pg_map.num_pg) {
|
||||
// all pgs aren't active+clean; we need to be careful.
|
||||
auto p = pg_map.osd_stat.find(osd);
|
||||
if (p == pg_map.osd_stat.end()) {
|
||||
if (p == pg_map.osd_stat.end() || !osdmap.is_up(osd)) {
|
||||
missing_stats.insert(osd);
|
||||
continue;
|
||||
} else if (p->second.num_pgs > 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user