From fec17ef90fd6a67ae1f55c7bc7ccbe2d70d2806f Mon Sep 17 00:00:00 2001 From: Greg Farnum Date: Tue, 22 Oct 2013 16:54:54 -0700 Subject: fixup "ReplicatedPG: take recovery locks in wait_for_missing_object()" And the subsequent "ReplicatedPG: add a cookie to get_backfill_read() to identify requester" Forgot to take the lock in the unfound branch, which still adds it to the waiting_for_missing_object list. --- src/osd/ReplicatedPG.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 6d0642ee4c6..144fe8994a8 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -280,6 +280,7 @@ void ReplicatedPG::wait_for_missing_object(const hobject_t& soid, OpRequestRef o } else if (missing_loc.find(soid) == missing_loc.end()) { dout(7) << "missing " << soid << " v " << v << ", is unfound." << dendl; + assert(rw_manager.get_backfill_read(soid, RWTracker::MISSING)); } else { dout(7) << "missing " << soid << " v " << v << ", recovering." << dendl; -- cgit v1.2.1