]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: handle the case of non exisiting zonegroup
authorOrit Wasserman <owasserm@redhat.com>
Mon, 23 Nov 2015 11:01:20 +0000 (12:01 +0100)
committerYehuda Sadeh <yehuda@redhat.com>
Fri, 12 Feb 2016 00:13:37 +0000 (16:13 -0800)
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
src/rgw/rgw_rados.cc

index c34950e1664fb706529edcd595e59a4b5453f4c1..92a6388f7f99f9a48bd91ce14fd4ebf0d4cb5d92 100644 (file)
@@ -3240,10 +3240,10 @@ int RGWRados::init_complete()
   if (!has_period_zonegroup) {
     ldout(cct, 10) << " cannot find current period zonegroup using local zonegroup" << dendl;
     ret = zonegroup.init(cct, this);
-    if (ret < 0 && ret != -ENOENT) {
+    if ( (ret < 0 && ret != -ENOENT) || (ret == -ENOENT && !cct->_conf->rgw_zonegroup.empty())) {
       lderr(cct) << "failed reading zonegroup info: ret "<< ret << " " << cpp_strerror(-ret) << dendl;
       return ret;
-    } else if (ret == -ENOENT && cct->_conf->rgw_zonegroup.empty()) {
+    } else if (ret == -ENOENT) {
       creating_defaults = true;
       lderr(cct) << "Creating default zonegroup " << dendl;
       ret = zonegroup.create_default();
@@ -3275,8 +3275,8 @@ int RGWRados::init_complete()
       lderr(cct) << "failed reading zone info: ret "<< ret << " " << cpp_strerror(-ret) << dendl;
       return ret;
     }
-    map<string, RGWZone>::iterator zone_iter = zonegroup.zones.find(zone_params.get_id());
-    if (zone_iter != zonegroup.zones.end()) {
+    map<string, RGWZone>::iterator zone_iter = get_zonegroup().zones.find(zone_params.get_id());
+    if (zone_iter != get_zonegroup().zones.end()) {
       zone_public_config = zone_iter->second;
       ldout(cct, 20) << "zone " << zone_params.get_name() << dendl;
     } else {