mirror of
https://github.com/ceph/ceph
synced 2025-04-01 00:26:47 +00:00
PG: update info.history even if lastmap is absent
Previously, we did not update same_interval_since etc if we do not have the previous map. Signed-off-by: Samuel Just <samuel.just@dreamhost.com>
This commit is contained in:
parent
023ff5903a
commit
a3dd5bd67b
@ -3525,13 +3525,6 @@ void PG::start_peering_interval(const OSDMapRef lastmap,
|
||||
i.acting = oldacting;
|
||||
i.up = oldup;
|
||||
|
||||
if (oldacting != acting || oldup != up) {
|
||||
info.history.same_interval_since = osdmap->get_epoch();
|
||||
}
|
||||
if (oldup != up) {
|
||||
info.history.same_up_since = osdmap->get_epoch();
|
||||
}
|
||||
|
||||
if (i.acting.size()) {
|
||||
i.maybe_went_rw =
|
||||
lastmap->get_up_thru(i.acting[0]) >= i.first &&
|
||||
@ -3540,14 +3533,20 @@ void PG::start_peering_interval(const OSDMapRef lastmap,
|
||||
i.maybe_went_rw = 0;
|
||||
}
|
||||
|
||||
if (oldprimary != get_primary()) {
|
||||
info.history.same_primary_since = osdmap->get_epoch();
|
||||
}
|
||||
|
||||
dout(10) << " noting past " << i << dendl;
|
||||
dirty_info = true;
|
||||
}
|
||||
|
||||
if (oldacting != acting || oldup != up) {
|
||||
info.history.same_interval_since = osdmap->get_epoch();
|
||||
}
|
||||
if (oldup != up) {
|
||||
info.history.same_up_since = osdmap->get_epoch();
|
||||
}
|
||||
if (oldprimary != get_primary()) {
|
||||
info.history.same_primary_since = osdmap->get_epoch();
|
||||
}
|
||||
|
||||
dout(10) << " up " << oldup << " -> " << up
|
||||
<< ", acting " << oldacting << " -> " << acting
|
||||
<< ", role " << oldrole << " -> " << role << dendl;
|
||||
|
Loading…
Reference in New Issue
Block a user