summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Just <sam.just@inktank.com>2013-08-23 14:50:42 -0700
committerSamuel Just <sam.just@inktank.com>2013-08-23 14:57:45 -0700
commit83c8588807ea65f9319e2347ecae4309e34c9354 (patch)
tree7fe9b7636de2b59642720752257dcd1a1aab69f6
parent60abe08037293b400cb6f4eb52683b24cf948fb1 (diff)
downloadceph-83c8588807ea65f9319e2347ecae4309e34c9354.tar.gz
ReplicatedPG: mark stats invalid when marking unfound lost
Fixes: #3660 Signed-off-by: Samuel Just <sam.just@inktank.com> Reviewed-by: Sage Weil <sage@inktank.com>
-rw-r--r--src/osd/ReplicatedPG.cc7
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