From: Casey Bodley Date: Tue, 23 May 2023 16:56:03 +0000 (-0400) Subject: librados: rados_aio_write_op_operate() propagates mtime X-Git-Tag: v17.2.7~278^2~2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=1634a07e65861ea233517a0e9880ba4b284c8426;p=ceph.git librados: rados_aio_write_op_operate() propagates mtime Signed-off-by: Casey Bodley (cherry picked from commit 0bfb144ee64fe9ecd3f27cf94fca832e3ab3b39b) --- diff --git a/src/librados/librados_c.cc b/src/librados/librados_c.cc index c2a47d94c8fbc..77fc461467af0 100644 --- a/src/librados/librados_c.cc +++ b/src/librados/librados_c.cc @@ -4020,10 +4020,16 @@ extern "C" int LIBRADOS_C_API_DEFAULT_F(rados_aio_write_op_operate)( { tracepoint(librados, rados_aio_write_op_operate_enter, write_op, io, completion, 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; librados::AioCompletionImpl *c = (librados::AioCompletionImpl*)completion; - int retval = ctx->aio_operate(obj, oo, c, ctx->snapc, nullptr, translate_flags(flags)); + + if (mtime) { + oimpl->rt = ceph::real_clock::from_time_t(*mtime); + oimpl->prt = &oimpl->rt; + } + + int retval = ctx->aio_operate(obj, &oimpl->o, c, ctx->snapc, oimpl->prt, translate_flags(flags)); tracepoint(librados, rados_aio_write_op_operate_exit, retval); return retval; }