From: Radoslaw Zarzynski Date: Mon, 5 Aug 2019 11:53:13 +0000 (+0200) Subject: crimson/osd: implement cls_cxx_read2(). X-Git-Tag: v15.1.0~1774^2~11 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=e374b2208697137e390e0cb13c914e6772939e1c;p=ceph-ci.git crimson/osd: implement cls_cxx_read2(). Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/crimson/osd/objclass.cc b/src/crimson/osd/objclass.cc index a28870261b5..e76e681ee54 100644 --- a/src/crimson/osd/objclass.cc +++ b/src/crimson/osd/objclass.cc @@ -109,7 +109,18 @@ int cls_cxx_read2(cls_method_context_t hctx, bufferlist *outbl, uint32_t op_flags) { - return 0; + OSDOp op; + op.op.op = CEPH_OSD_OP_SYNC_READ; + op.op.extent.offset = ofs; + op.op.extent.length = len; + op.op.flags = op_flags; + try { + reinterpret_cast(hctx)->do_osd_op(op).get(); + } catch (ceph::osd::error& e) { + return -e.code().value(); + } + outbl->claim(op.outdata); + return outbl->length(); } int cls_cxx_write2(cls_method_context_t hctx,