This allows multiple cancellations without worrying about a race with an
(objecter) osdmap update.
Signed-off-by: Sage Weil <sage@redhat.com>
return ret;
}
+int Objecter::op_cancel(const vector<ceph_tid_t>& 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;
int _op_cancel(ceph_tid_t tid, int r);
public:
int op_cancel(ceph_tid_t tid, int r);
+ int op_cancel(const vector<ceph_tid_t>& tidls, int r);
/**
* Any write op which is in progress at the start of this call shall no