From: Radoslaw Zarzynski Date: Tue, 27 Aug 2019 19:31:07 +0000 (+0200) Subject: crimson/osd: implement cls_cxx_write2(). X-Git-Tag: v15.1.0~1553^2~9 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3fbb681384ab1eb0fcb48385488962ce905d9a22;p=ceph.git crimson/osd: implement cls_cxx_write2(). Signed-off-by: Radoslaw Zarzynski --- diff --git a/src/crimson/osd/objclass.cc b/src/crimson/osd/objclass.cc index a3fdb5e43d84..417d69135a84 100644 --- a/src/crimson/osd/objclass.cc +++ b/src/crimson/osd/objclass.cc @@ -142,7 +142,17 @@ int cls_cxx_write2(cls_method_context_t hctx, bufferlist *inbl, uint32_t op_flags) { - return 0; + OSDOp op{ CEPH_OSD_OP_WRITE }; + op.op.extent.offset = ofs; + op.op.extent.length = len; + op.op.flags = op_flags; + op.indata = *inbl; + try { + reinterpret_cast(hctx)->do_osd_op(op).get(); + return 0; + } catch (ceph::osd::error& e) { + return -e.code().value(); + } } int cls_cxx_write_full(cls_method_context_t hctx, bufferlist * const inbl)