summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/osd/ReplicatedPG.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc
index f424aeaeee9..4020aa8116a 100644
--- a/src/osd/ReplicatedPG.cc
+++ b/src/osd/ReplicatedPG.cc
@@ -1140,6 +1140,10 @@ void ReplicatedPG::do_op(OpRequestRef op)
bool ReplicatedPG::maybe_handle_cache(OpRequestRef op, ObjectContextRef obc,
int r)
{
+ if (obc.get() && obc->is_blocked()) {
+ // we're already doing something with this object
+ return false;
+ }
switch(pool.info.cache_mode) {
case pg_pool_t::CACHEMODE_NONE:
return false;