X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ceph%2Fsrc%2Fosdc%2FObjecter.cc;h=18ec1cf0d1839d1b8f81331cfc14b2f03755b992;hb=94b1876350060563a6ac95339df15f95fd3ebadc;hp=16c5b325bde041813cd1e4600a48762de0999f9b;hpb=4832b6f0acade977670a37c20ff5dbe69e727416;p=ceph.git diff --git a/ceph/src/osdc/Objecter.cc b/ceph/src/osdc/Objecter.cc index 16c5b325b..18ec1cf0d 100644 --- a/ceph/src/osdc/Objecter.cc +++ b/ceph/src/osdc/Objecter.cc @@ -2532,6 +2532,16 @@ int Objecter::op_cancel(ceph_tid_t tid, int r) return ret; } +int Objecter::op_cancel(const vector& tids, int r) +{ + unique_lock wl(rwlock); + ldout(cct,10) << __func__ << " " << tids << dendl; + for (auto tid : tids) { + _op_cancel(tid, r); + } + return 0; +} + int Objecter::_op_cancel(ceph_tid_t tid, int r) { int ret = 0; @@ -3411,7 +3421,7 @@ void Objecter::handle_osd_op_reply(MOSDOpReply *m) op->tid = 0; m->get_redirect().combine_with_locator(op->target.target_oloc, op->target.target_oid.name); - op->target.flags |= CEPH_OSD_FLAG_REDIRECTED; + op->target.flags |= (CEPH_OSD_FLAG_REDIRECTED | CEPH_OSD_FLAG_IGNORE_OVERLAY); _op_submit(op, sul, NULL); m->put(); return;