From: Sage Weil Date: Tue, 24 May 2011 16:17:24 +0000 (-0700) Subject: Merge branch 'stable' X-Git-Tag: v0.29~42^2~5 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=754cfaacb76aad7b1b5de4424991894664a84107;p=ceph.git Merge branch 'stable' --- 754cfaacb76aad7b1b5de4424991894664a84107 diff --cc src/osd/PG.cc index 445fa38c7335d,27e85f82227b3..e105d133f262f --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@@ -3633,8 -3719,10 +3719,10 @@@ void PG::Missing::add_next_event(Log::E } else if (missing.count(e.soid)) { // already missing (prior). //assert(missing[e.soid].need == e.prior_version); - rmissing.erase(missing[e.soid].need); + rmissing.erase(missing[e.soid].need.version); missing[e.soid].need = e.version; // leave .have unchanged. + } else if (e.is_backlog()) { + missing[e.soid].need = e.version; } else { // not missing, we must have prior_version (if any) missing[e.soid] = item(e.version, e.prior_version); @@@ -3651,8 -3739,10 +3739,10 @@@ void PG::Missing::add_event(Log::Entry if (missing[e.soid].need >= e.version) return; // already missing same or newer. // missing older, revise need - rmissing.erase(missing[e.soid].need); + rmissing.erase(missing[e.soid].need.version); missing[e.soid].need = e.version; + } else if (e.is_backlog()) { + missing[e.soid].need = e.version; } else // not missing => have prior_version (if any) missing[e.soid] = item(e.version, e.prior_version);