From: Shilpa Jagannath Date: Tue, 19 Mar 2024 14:59:35 +0000 (-0400) Subject: rgw/multisite: allow modified object acls to be replicated X-Git-Tag: v20.0.0~1810^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f5f6194c07b40c50913e956e06aaa3709d4d53aa;p=ceph.git rgw/multisite: allow modified object acls to be replicated Signed-off-by: Shilpa Jagannath --- diff --git a/src/rgw/driver/rados/rgw_sal_rados.cc b/src/rgw/driver/rados/rgw_sal_rados.cc index eace9df5f3f..9057bc7af44 100644 --- a/src/rgw/driver/rados/rgw_sal_rados.cc +++ b/src/rgw/driver/rados/rgw_sal_rados.cc @@ -2289,12 +2289,15 @@ int RadosObject::read_attrs(const DoutPrefixProvider* dpp, RGWRados::Object::Rea int RadosObject::set_obj_attrs(const DoutPrefixProvider* dpp, Attrs* setattrs, Attrs* delattrs, optional_yield y) { Attrs empty; + // make a tiny adjustment to the existing mtime so that fetch_remote_obj() + // won't return ERR_NOT_MODIFIED when syncing the modified object + const auto mtime = state.mtime + std::chrono::nanoseconds(1); return store->getRados()->set_attrs(dpp, rados_ctx, bucket->get_info(), get_obj(), setattrs ? *setattrs : empty, delattrs ? delattrs : nullptr, - y); + y, mtime); } int RadosObject::get_obj_attrs(optional_yield y, const DoutPrefixProvider* dpp, rgw_obj* target_obj)