From cebd5d53775bc20d7db8b93e400badc6117e7dea Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Fri, 11 Aug 2023 13:29:26 -0400 Subject: [PATCH] rgw/lc: bucket delete only calls remove_bucket_config() if RGW_ATTR_LC if there's no RGW_ATTR_LC, don't try to do any lifecycle-related cleanup Signed-off-by: Casey Bodley --- src/rgw/driver/rados/rgw_sal_rados.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/rgw/driver/rados/rgw_sal_rados.cc b/src/rgw/driver/rados/rgw_sal_rados.cc index a8914921fd2..4f08fb66a84 100644 --- a/src/rgw/driver/rados/rgw_sal_rados.cc +++ b/src/rgw/driver/rados/rgw_sal_rados.cc @@ -451,9 +451,11 @@ int RadosBucket::remove_bucket(const DoutPrefixProvider* dpp, } // remove lifecycle config, if any (XXX note could be made generic) - constexpr bool merge_attrs = false; // don't update xattrs, we're deleting - (void) store->getRados()->get_lc()->remove_bucket_config( - this, get_attrs(), merge_attrs); + if (get_attrs().count(RGW_ATTR_LC)) { + constexpr bool merge_attrs = false; // don't update xattrs, we're deleting + (void) store->getRados()->get_lc()->remove_bucket_config( + this, get_attrs(), merge_attrs); + } ret = store->ctl()->bucket->sync_user_stats(dpp, info.owner, info, y, nullptr); if (ret < 0) { -- 2.39.5