If the incoming request's snapid is CEPH_SNAPDIR and the object context
of clones of its targeting object doesn't exist, also promote those clones
This cannot be cherry-picked from master because ReplicatedPG::do_op()
in "master" branch has been completely reconstructed.
Fixes: http://tracker.ceph.com/issues/17445
Signed-off-by: Xuehan Xu <xuxuehan@360.cn>
}
ObjectContextRef sobc = get_object_context(clone_oid, false);
- if (!sobc) {
+ if (!sobc || !sobc->obs.exists) {
if (!maybe_handle_cache(op, write_ordered, sobc, -ENOENT, clone_oid, true))
osd->reply_op_error(op, -ENOENT);
return;