From: Li Wang
Date: Mon, 9 May 2016 14:14:18 +0000 (+0800)
Subject: librados: fix aio_operate()
X-Git-Tag: v11.0.0~578^2
X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e8dc3f06fc11650612bc9cacced46c8836d5e4f4;p=ceph.git
librados: fix aio_operate()
ObjectOperationImpl has changed, no longer equal to ::ObjectOperation*,
this patch fixes the wrong pointer conversion.
Signed-off-by: Li Wang
---
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);
}