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); }