From: Casey Bodley Date: Tue, 23 May 2023 16:56:34 +0000 (-0400) Subject: librados: rados_write_op_operate() uses ObjectOperationImpl for mtime X-Git-Tag: v18.1.2~11^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=94fbcf3269650df0f21f27af17a17d6afe3c459b;p=ceph.git librados: rados_write_op_operate() uses ObjectOperationImpl for mtime Signed-off-by: Casey Bodley (cherry picked from commit b888821da72de1b02e06693b3e693aab7bc90ad7) --- diff --git a/src/librados/librados_c.cc b/src/librados/librados_c.cc index 65dc4bc32ccc1..e88d067cae600 100644 --- a/src/librados/librados_c.cc +++ b/src/librados/librados_c.cc @@ -3997,18 +3997,15 @@ extern "C" int LIBRADOS_C_API_DEFAULT_F(rados_write_op_operate)( { tracepoint(librados, rados_write_op_operate_enter, write_op, io, oid, mtime, flags); object_t obj(oid); - ::ObjectOperation *oo = to_object_operation(write_op); + auto oimpl = static_cast(write_op); librados::IoCtxImpl *ctx = (librados::IoCtxImpl *)io; - ceph::real_time *prt = NULL; - ceph::real_time rt; - if (mtime) { - rt = ceph::real_clock::from_time_t(*mtime); - prt = &rt; + oimpl->rt = ceph::real_clock::from_time_t(*mtime); + oimpl->prt = &oimpl->rt; } - int retval = ctx->operate(obj, oo, prt, translate_flags(flags)); + int retval = ctx->operate(obj, &oimpl->o, oimpl->prt, translate_flags(flags)); tracepoint(librados, rados_write_op_operate_exit, retval); return retval; } @@ -4023,18 +4020,15 @@ extern "C" int LIBRADOS_C_API_DEFAULT_F(rados_write_op_operate2)( { tracepoint(librados, rados_write_op_operate2_enter, write_op, io, oid, ts, flags); object_t obj(oid); - ::ObjectOperation *oo = to_object_operation(write_op); + auto oimpl = static_cast(write_op); librados::IoCtxImpl *ctx = (librados::IoCtxImpl *)io; - ceph::real_time *prt = NULL; - ceph::real_time rt; - if (ts) { - rt = ceph::real_clock::from_timespec(*ts); - prt = &rt; + oimpl->rt = ceph::real_clock::from_timespec(*ts); + oimpl->prt = &oimpl->rt; } - int retval = ctx->operate(obj, oo, prt, translate_flags(flags)); + int retval = ctx->operate(obj, &oimpl->o, oimpl->prt, translate_flags(flags)); tracepoint(librados, rados_write_op_operate_exit, retval); return retval; }