]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
bug fix: librados segmentation fault, support RadosStriperImpl::aio_read() method 4955/head
authorMin Chen <minchen@ubuntukylin.com>
Mon, 31 Aug 2015 07:09:58 +0000 (15:09 +0800)
committerMin Chen <minchen@ubuntukylin.com>
Mon, 31 Aug 2015 07:09:58 +0000 (15:09 +0800)
Signed-off-by: Min Chen <minchen@ubuntukylin.com>
src/libradosstriper/RadosStriperImpl.cc

index 0886f8b3403c22c38afd2607827770711ebfe8cc..3544cac1b787e68640c8980d716b42551d5027aa 100644 (file)
@@ -463,10 +463,10 @@ int libradosstriper::RadosStriperImpl::aio_read(const std::string& soid,
   
   // create a completion object and transfer ownership of extents and resultbl
   vector<bufferlist> *resultbl = new vector<bufferlist>(extents->size());
-  c->is_read = true;
-  c->io = m_ioCtxImpl;
   ReadCompletionData *cdata = new ReadCompletionData(this, soid, lockCookie, c,
                                                     bl, extents, resultbl);
+  c->is_read = true;
+  c->io = m_ioCtxImpl;
   libradosstriper::MultiAioCompletionImpl *nc = new libradosstriper::MultiAioCompletionImpl;
   nc->set_complete_callback(cdata, striper_read_aio_req_complete);
   // go through the extents