From: Samuel Just Date: Mon, 12 Jan 2015 16:39:48 +0000 (-0800) Subject: Merge pull request #3203 from majianpeng/fix1 X-Git-Tag: v0.92~30 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=4ecea7e54efa4a25d601ecb5250ea2edd5b9bb43;p=ceph.git Merge pull request #3203 from majianpeng/fix1 avoid memcopy from librados to caller buffer Reviewed-by: Sage Weil Reviewed-by: Samuel Just --- 4ecea7e54efa4a25d601ecb5250ea2edd5b9bb43 diff --cc src/osdc/Objecter.cc index 349409b7d715,516d315e590e..3e0d2caf9577 --- a/src/osdc/Objecter.cc +++ b/src/osdc/Objecter.cc @@@ -2974,9 -2952,15 +2974,17 @@@ void Objecter::handle_osd_op_reply(MOSD *op->objver = m->get_user_version(); if (op->reply_epoch) *op->reply_epoch = m->get_map_epoch(); + if (op->data_offset) + *op->data_offset = m->get_header().data_off; + // got data? + if (op->outbl) { + if (op->con) + op->con->revoke_rx_buffer(op->tid); + m->claim_data(*op->outbl); + op->outbl = 0; + } + // per-op result demuxing vector out_ops; m->claim_ops(out_ops);