From e8dc3f06fc11650612bc9cacced46c8836d5e4f4 Mon Sep 17 00:00:00 2001
From: Li Wang
Date: Mon, 9 May 2016 22:14:18 +0800
Subject: [PATCH] librados: fix aio_operate()
ObjectOperationImpl has changed, no longer equal to ::ObjectOperation*,
this patch fixes the wrong pointer conversion.
Signed-off-by: Li Wang
---
src/librados/librados.cc | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/librados/librados.cc b/src/librados/librados.cc
index 3f93591d6d4d..aa18fd0e2c1d 100644
--- a/src/librados/librados.cc
+++ b/src/librados/librados.cc
@@ -1443,14 +1443,14 @@ int librados::IoCtx::aio_operate(const std::string& oid, AioCompletion *c,
librados::ObjectWriteOperation *o)
{
object_t obj(oid);
- return io_ctx_impl->aio_operate(obj, (::ObjectOperation*)o->impl, c->pc,
+ return io_ctx_impl->aio_operate(obj, &o->impl->o, c->pc,
io_ctx_impl->snapc, 0);
}
int librados::IoCtx::aio_operate(const std::string& oid, AioCompletion *c,
ObjectWriteOperation *o, int flags)
{
object_t obj(oid);
- return io_ctx_impl->aio_operate(obj, (::ObjectOperation*)o->impl, c->pc,
+ return io_ctx_impl->aio_operate(obj, &o->impl->o, c->pc,
io_ctx_impl->snapc,
translate_flags(flags));
}
@@ -1465,7 +1465,7 @@ int librados::IoCtx::aio_operate(const std::string& oid, AioCompletion *c,
for (size_t i = 0; i < snaps.size(); ++i)
snv[i] = snaps[i];
SnapContext snapc(snap_seq, snv);
- return io_ctx_impl->aio_operate(obj, (::ObjectOperation*)o->impl, c->pc,
+ return io_ctx_impl->aio_operate(obj, &o->impl->o, c->pc,
snapc, 0);
}
@@ -1474,7 +1474,7 @@ int librados::IoCtx::aio_operate(const std::string& oid, AioCompletion *c,
bufferlist *pbl)
{
object_t obj(oid);
- return io_ctx_impl->aio_operate_read(obj, (::ObjectOperation*)o->impl, c->pc,
+ return io_ctx_impl->aio_operate_read(obj, &o->impl->o, c->pc,
0, pbl);
}
@@ -1493,7 +1493,7 @@ int librados::IoCtx::aio_operate(const std::string& oid, AioCompletion *c,
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,
+ return io_ctx_impl->aio_operate_read(obj, &o->impl->o, c->pc,
op_flags, pbl);
}
@@ -1502,7 +1502,7 @@ int librados::IoCtx::aio_operate(const std::string& oid, AioCompletion *c,
int flags, bufferlist *pbl)
{
object_t obj(oid);
- return io_ctx_impl->aio_operate_read(obj, (::ObjectOperation*)o->impl, c->pc,
+ return io_ctx_impl->aio_operate_read(obj, &o->impl->o, c->pc,
translate_flags(flags), pbl);
}
--
2.47.3