From: Casey Bodley Date: Tue, 23 Aug 2016 19:10:44 +0000 (-0400) Subject: rgw: delete region map after upgrade to zonegroup map X-Git-Tag: v11.0.1~393^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=215cd6f6ff7b8cb74df6dc3b94a5928f56ab9540;p=ceph.git rgw: delete region map after upgrade to zonegroup map convert_regionmap() reads the region map and uses it to initialize the zonegroup map. but it doesn't remove the region_map afterwards, so radosgw (and some radosgw-admin commands) will keep doing this on startup, overwriting any changes made to the period/zonegroup map Fixes: http://tracker.ceph.com/issues/17051 Signed-off-by: Casey Bodley --- diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc index 437cf3b3cc098..a9bce82780a19 100644 --- a/src/rgw/rgw_rados.cc +++ b/src/rgw/rgw_rados.cc @@ -3310,6 +3310,15 @@ int RGWRados::convert_regionmap() current_period.set_user_quota(zonegroupmap.user_quota); current_period.set_bucket_quota(zonegroupmap.bucket_quota); + // remove the region_map so we don't try to convert again + rgw_obj obj(pool, oid); + ret = delete_system_obj(obj); + if (ret < 0) { + ldout(cct, 0) << "Error could not remove " << obj + << " after upgrading to zonegroup map: " << cpp_strerror(ret) << dendl; + return ret; + } + return 0; }