From: lightmelodies Date: Fri, 15 Sep 2023 03:25:02 +0000 (+0000) Subject: rgw: fix rados bucket merge and store attrs X-Git-Tag: v18.2.8~10^2~147^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c84463e59fce82f5b245d6a4c74bfa67d8c08ce5;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 647d311e6ef..b7ccf04dd1c 100644 --- a/src/rgw/driver/rados/rgw_sal_rados.cc +++ b/src/rgw/driver/rados/rgw_sal_rados.cc @@ -802,7 +802,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)