The argument was ignored.
Signed-off-by: Sage Weil <sage@inktank.com>
std::vector<snap_t>& snaps);
int aio_operate(const std::string& oid, AioCompletion *c,
ObjectReadOperation *op, bufferlist *pbl);
+
int aio_operate(const std::string& oid, AioCompletion *c,
ObjectReadOperation *op, snap_t snapid, int flags,
+ bufferlist *pbl)
+ __attribute__ ((deprecated ("use aio_operate without snapid argument")));
+
+ int aio_operate(const std::string& oid, AioCompletion *c,
+ ObjectReadOperation *op, int flags,
bufferlist *pbl);
// watch/notify
0, pbl);
}
+// deprecated
int librados::IoCtx::aio_operate(const std::string& oid, AioCompletion *c,
librados::ObjectReadOperation *o,
- snap_t snapid, int flags, bufferlist *pbl)
+ snap_t snapid_unused_deprecated,
+ int flags, bufferlist *pbl)
+{
+ object_t obj(oid);
+ int op_flags = 0;
+ if (flags & OPERATION_BALANCE_READS)
+ op_flags |= CEPH_OSD_FLAG_BALANCE_READS;
+ if (flags & OPERATION_LOCALIZE_READS)
+ op_flags |= CEPH_OSD_FLAG_LOCALIZE_READS;
+ if (flags & OPERATION_ORDER_READS_WRITES)
+ op_flags |= CEPH_OSD_FLAG_RWORDERED;
+
+ return io_ctx_impl->aio_operate_read(obj, (::ObjectOperation*)o->impl, c->pc,
+ op_flags, pbl);
+}
+
+int librados::IoCtx::aio_operate(const std::string& oid, AioCompletion *c,
+ librados::ObjectReadOperation *o,
+ int flags, bufferlist *pbl)
{
object_t obj(oid);
return io_ctx_impl->aio_operate_read(obj, (::ObjectOperation*)o->impl, c->pc,
} else {
op.read(m_object_off, m_object_len, &m_read_data, NULL);
}
- r = m_ioctx->aio_operate(m_oid, rados_completion, &op, m_snap_id, flags, NULL);
+ r = m_ioctx->aio_operate(m_oid, rados_completion, &op, flags, NULL);
rados_completion->release();
return r;
op.read(off, len, pbl, NULL);
int flags = m_ictx->get_read_flags(snapid);
int r = m_ictx->data_ctx.aio_operate(oid.name, rados_completion, &op,
- snapid, flags, NULL);
+ flags, NULL);
rados_completion->release();
assert(r >= 0);
}
op.read(0, 1, &bl, NULL);
librados::AioCompletion *completion = cluster.aio_create_completion();
ASSERT_EQ(0, base_ioctx.aio_operate(
- "foo", completion, &op, librados::SNAP_HEAD,
+ "foo", completion, &op,
librados::OPERATION_IGNORE_OVERLAY, NULL));
completion->wait_for_safe();
ASSERT_EQ(0, completion->get_return_value());
context->io_ctx.aio_operate(
context->prefix+oid, rcompletion,
&read_op,
- librados::SNAP_HEAD,
librados::OPERATION_ORDER_READS_WRITES, // order wrt previous write/update
0);
}
NULL);
rd_op.stat(NULL, NULL, NULL);
context->io_ctx.aio_operate(context->prefix+oid, comp_racing_read, &rd_op,
- librados::SNAP_HEAD,
librados::OPERATION_ORDER_READS_WRITES, // order wrt previous write/update
NULL);