From eafe4ac81b787a2573b16036ac987822cbe0161c Mon Sep 17 00:00:00 2001 From: lightmelodies Date: Fri, 15 Sep 2023 03:25:02 +0000 Subject: [PATCH] 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 --- src/rgw/driver/rados/rgw_sal_rados.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/rgw/driver/rados/rgw_sal_rados.cc b/src/rgw/driver/rados/rgw_sal_rados.cc index 11b86a25841..a30572910ae 100644 --- a/src/rgw/driver/rados/rgw_sal_rados.cc +++ b/src/rgw/driver/rados/rgw_sal_rados.cc @@ -716,7 +716,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) -- 2.39.5