]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
librados: fix aio_operate() 8998/head
authorLi Wang <li.wang@kylin-cloud.com>
Mon, 9 May 2016 14:14:18 +0000 (22:14 +0800)
committerLi Wang <li.wang@kylin-cloud.com>
Mon, 9 May 2016 14:31:27 +0000 (22:31 +0800)
ObjectOperationImpl has changed, no longer equal to ::ObjectOperation*,
this patch fixes the wrong pointer conversion.

Signed-off-by: Li Wang <li.wang@kylin-cloud.com>
src/librados/librados.cc

index 3f93591d6d4d69e46df415ceb331192a9bc7d371..aa18fd0e2c1d773f3dd05776100364157707f5fc 100644 (file)
@@ -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);
 }