const object_info_t& oi = obc->obs.oi;
const hobject_t& soid = oi.soid;
- if (!obc->is_blocked()) {
- return -EINVAL;
- }
+ ceph_assert(obc->is_blocked());
/*
* The operations to make dedup chunks are tracked by a ManifestOp.
osd->reply_op_error(mop->op, -EINVAL);
return;
}
+ ceph_assert(obc->is_blocked());
obc->stop_block();
kick_object_context_blocked(obc);
if (r < 0) {
snapset = obc->ssc->snapset;
}
+ if (obc->obs.oi.has_manifest() && obc->obs.oi.manifest.is_chunked()) {
+ // current dedup tier only supports blocking operation
+ if (!blocking) {
+ return -EOPNOTSUPP;
+ }
+ }
+
// verify there are no (older) check for dirty clones
{
dout(20) << " snapset " << snapset << dendl;