]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: add_zone only clears master_zone if --master=false 9149/head
authorCasey Bodley <cbodley@redhat.com>
Mon, 16 May 2016 15:03:45 +0000 (11:03 -0400)
committerCasey Bodley <cbodley@redhat.com>
Wed, 18 May 2016 13:15:37 +0000 (09:15 -0400)
Fixes: http://tracker.ceph.com/issues/15901
Signed-off-by: Casey Bodley <cbodley@redhat.com>
src/rgw/rgw_rados.cc

index 5076d18d282af18618f08b25c441f7641b4224b9..f8becbd3ede04965a56a69c8020c7566eb1bd2b4 100644 (file)
@@ -253,13 +253,15 @@ int RGWZoneGroup::add_zone(const RGWZoneParams& zone_params, bool *is_master, bo
     }
   }
 
-  if (is_master && *is_master) {
-    if (!master_zone.empty() && master_zone != zone_params.get_id()) {
-      ldout(cct, 0) << "NOTICE: overriding master zone: " << master_zone  << dendl;
+  if (is_master) {
+    if (*is_master) {
+      if (!master_zone.empty() && master_zone != zone_params.get_id()) {
+        ldout(cct, 0) << "NOTICE: overriding master zone: " << master_zone << dendl;
+      }
+      master_zone = zone_params.get_id();
+    } else if (master_zone == zone_params.get_id()) {
+      master_zone.clear();
     }
-    master_zone = zone_params.get_id();
-  } else if (master_zone == zone_params.get_id()) {
-    master_zone ="";
   }
 
   RGWZone& zone = zones[zone_params.get_id()];