Add replicated pool support to OSD logic

...in theory :-D now it needs some testing
This commit is contained in:
Vitaliy Filippov
2020-09-05 01:42:11 +03:00
parent 168cc2c803
commit 4f9b5286a0
11 changed files with 195 additions and 83 deletions
+3 -1
View File
@@ -26,7 +26,7 @@ void osd_t::handle_peers()
degraded_objects += p.second.degraded_objects.size();
if ((p.second.state & (PG_ACTIVE | PG_HAS_UNCLEAN)) == (PG_ACTIVE | PG_HAS_UNCLEAN))
peering_state = peering_state | OSD_FLUSHING_PGS;
else
else if (p.second.state & PG_ACTIVE)
peering_state = peering_state | OSD_RECOVERING;
}
else
@@ -184,6 +184,7 @@ void osd_t::start_pg_peering(pg_t & pg)
{
pg.state = PG_INCOMPLETE;
report_pg_state(pg);
return;
}
}
}
@@ -191,6 +192,7 @@ void osd_t::start_pg_peering(pg_t & pg)
{
pg.state = PG_INCOMPLETE;
report_pg_state(pg);
return;
}
std::set<osd_num_t> cur_peers;
for (auto pg_osd: pg.all_peers)