From: Orit Wasserman Date: Fri, 20 May 2016 07:52:01 +0000 (+0200) Subject: rgw: add missing metadata_heap pool to old zones X-Git-Tag: v11.0.0~448^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b79856bd3f7db8498231d7f35b53b4bcb44a0422;p=ceph.git rgw: add missing metadata_heap pool to old zones Fixes: http://tracker.ceph.com/issues/15937 Signed-off-by: Orit Wasserman Signed-off-by: Abhishek Lekshmanan --- diff --git a/src/rgw/rgw_rados.cc b/src/rgw/rgw_rados.cc index 5076d18d282a..2bad942b813f 100644 --- a/src/rgw/rgw_rados.cc +++ b/src/rgw/rgw_rados.cc @@ -3346,6 +3346,17 @@ int RGWRados::replace_region_with_zonegroup() ldout(cct, 0) << "failed to list regions: ret "<< ret << " " << cpp_strerror(-ret) << dendl; return ret; } else if (ret == -ENOENT || regions.empty()) { + RGWZoneParams zoneparams(default_zone_name); + int ret = zoneparams.init(cct, this); + if (ret < 0 && ret != -ENOENT) { + ldout(cct, 0) << __func__ << ": error initializing default zone params: " << cpp_strerror(-ret) << dendl; + return ret; + } + /* default zone is missing meta_heap */ + if (ret != -ENOENT && zoneparams.metadata_heap.name.empty()) { + zoneparams.metadata_heap = ".rgw.meta"; + return zoneparams.update(); + } return 0; } @@ -3446,6 +3457,9 @@ int RGWRados::replace_region_with_zonegroup() ldout(cct, 0) << "failed to init zoneparams " << iter->first << ": " << cpp_strerror(-ret) << dendl; return ret; } + if (zoneparams.metadata_heap.name.empty()) { + zoneparams.metadata_heap = ".rgw.meta"; + } zonegroup.realm_id = realm.get_id(); ret = zoneparams.update(); if (ret < 0 && ret != -EEXIST) {