From: Neha Ojha Date: Fri, 16 Feb 2018 20:19:53 +0000 (-0800) Subject: PG: clear out old missing_loc in issue_repop X-Git-Tag: v13.1.0~548^2~10 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=b37d895a3af1f1eee29a7128e5a5c45091590f54;p=ceph.git PG: clear out old missing_loc in issue_repop Signed-off-by: Neha Ojha --- diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index abc713f0698ea..2df6297b468d7 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -10104,6 +10104,16 @@ void PrimaryLogPG::issue_repop(RepGather *repop, OpContext *ctx) } } + dout(10) << __func__ << " missing_loc before: " << missing_loc.get_locations(soid) << dendl; + // clear out missing_loc + set peers(missing_loc.get_locations(soid)); + for (set::iterator r = peers.begin(); + r != peers.end(); + ++r) { + pg_shard_t peer(*r); + missing_loc.remove_location(soid, peer); + } + for (set::const_iterator i = actingset.begin(); i != actingset.end(); ++i) { @@ -10111,6 +10121,7 @@ void PrimaryLogPG::issue_repop(RepGather *repop, OpContext *ctx) if (!peer_missing[peer].is_missing(soid)) missing_loc.add_location(soid, peer); } + dout(10) << __func__ << " missing_loc after: " << missing_loc.get_locations(soid) << dendl; pgbackend->submit_transaction( soid,