summaryrefslogtreecommitdiffstats
path: root/src/osd/ReplicatedPG.cc
diff options
context:
space:
mode:
authorSamuel Just <sam.just@inktank.com>2014-04-06 22:38:52 +0200
committerSamuel Just <sam.just@inktank.com>2014-04-07 23:34:01 +0200
commit07099ecd4c17bccf7fe1ce08031e774a0270fd99 (patch)
tree752a9d77cc6770d01f28a255d7546198a5561aa2 /src/osd/ReplicatedPG.cc
parentReplicatedPG::trim_object: account evicted prev clone for stats (diff)
downloadceph-07099ecd4c17bccf7fe1ce08031e774a0270fd99.tar.xz
ceph-07099ecd4c17bccf7fe1ce08031e774a0270fd99.zip
ReplicatedPG: do not evict head while clone is being promoted
Fixes: #8003 Signed-off-by: Samuel Just <sam.just@inktank.com>
Diffstat (limited to '')
-rw-r--r--src/osd/ReplicatedPG.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc
index 403bf030675..0ca33370430 100644
--- a/src/osd/ReplicatedPG.cc
+++ b/src/osd/ReplicatedPG.cc
@@ -4469,6 +4469,11 @@ int ReplicatedPG::_verify_no_head_clones(const hobject_t& soid,
<< clone_oid << dendl;
return -EBUSY;
}
+ if (copy_ops.count(clone_oid)) {
+ dout(10) << __func__ << " cannot evict head, pending promote on clone "
+ << clone_oid << dendl;
+ return -EBUSY;
+ }
}
return 0;
}