From 65dfe14600f5fcbd8c21ff26c6eb84bac880adc6 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 29 Jul 2008 09:18:16 -0700 Subject: [PATCH] osd: replica may have missing/lost objects when it activates; the primary is responsible for pushing them --- src/osd/OSD.cc | 1 - src/osd/PG.cc | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 0474014c9fa00..d31b71120fafa 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -2464,7 +2464,6 @@ void OSD::_process_pg_info(epoch_t epoch, int from, // merge log pg->merge_log(log, missing, from); pg->proc_missing(log, missing, from); - assert(pg->missing.num_lost() == 0); // ok activate! pg->activate(t, info_map); diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 2df6af9410d6a..3558014c73300 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -409,16 +409,16 @@ void PG::proc_missing(Log &olog, Missing &omissing, int fromosd) missing.loc[p->first] = omissing.loc[p->first]; } else { dout(10) << "proc_missing " << p->first << " " << p->second - << " also LOST on source, osd" << fromosd << dendl; + << " also missing on osd" << fromosd << dendl; } } else if (p->second <= olog.top) { dout(10) << "proc_missing " << p->first << " " << p->second - << " is on source, osd" << fromosd << dendl; + << " is on osd" << fromosd << dendl; missing.loc[p->first] = fromosd; } else { dout(10) << "proc_missing " << p->first << " " << p->second - << " > olog.top " << olog.top << ", not found...." + << " > olog.top " << olog.top << ", also missing on osd" << fromosd << dendl; } } -- 2.39.5