summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Farnum <greg@inktank.com>2013-10-22 16:54:54 -0700
committerGreg Farnum <greg@inktank.com>2013-10-22 16:54:54 -0700
commitfec17ef90fd6a67ae1f55c7bc7ccbe2d70d2806f (patch)
treed437f4d29de3b13c0e3e6b470455505f09cfa28e
parent65cc4c7981c596dd7e614177f8029d10c1c5f40e (diff)
downloadceph-wip-6585.tar.gz
fixup "ReplicatedPG: take recovery locks in wait_for_missing_object()"wip-6585
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.
-rw-r--r--src/osd/ReplicatedPG.cc1
1 files changed, 1 insertions, 0 deletions
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;