diff options
-rw-r--r-- | src/osd/ReplicatedPG.cc | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 339673bf253..60eb65b7d8b 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -6528,13 +6528,16 @@ void ReplicatedPG::mark_all_unfound_lost(int what) pg_log.get_log().print(*_dout); *_dout << dendl; + info.stats.stats_invalid = true; + if (missing.num_missing() == 0) { // advance last_complete since nothing else is missing! info.last_complete = info.last_update; - dirty_info = true; - write_if_dirty(*t); } + dirty_info = true; + write_if_dirty(*t); + osd->store->queue_transaction(osr.get(), t, c, NULL, new C_OSD_OndiskWriteUnlockList(&c->obcs)); // Send out the PG log to all replicas |