From: lightmelodies Date: Fri, 15 Sep 2023 03:25:02 +0000 (+0000) Subject: rgw: fix rados bucket merge and store attrs X-Git-Tag: v19.2.3~188^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=606ef838a800d362d7451fb7828583a9bd9f6ae5;p=ceph.git rgw: fix rados bucket merge and store attrs The original code pass `new_attrs` as argument, which will overwrite existing attrs. (e.g. set bucket ratelimit will break all bucket policy and acl settings) Signed-off-by: Wei Wang (cherry picked from commit eafe4ac81b787a2573b16036ac987822cbe0161c) --- diff --git a/src/rgw/driver/rados/rgw_sal_rados.cc b/src/rgw/driver/rados/rgw_sal_rados.cc index 3e9f9070296c..0a70ed1c47e9 100644 --- a/src/rgw/driver/rados/rgw_sal_rados.cc +++ b/src/rgw/driver/rados/rgw_sal_rados.cc @@ -718,7 +718,7 @@ int RadosBucket::merge_and_store_attrs(const DoutPrefixProvider* dpp, Attrs& new attrs[it.first] = it.second; } return store->ctl()->bucket->set_bucket_instance_attrs(get_info(), - new_attrs, &get_info().objv_tracker, y, dpp); + attrs, &get_info().objv_tracker, y, dpp); } int RadosBucket::try_refresh_info(const DoutPrefixProvider* dpp, ceph::real_time* pmtime, optional_yield y)