]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: fix failed to create bucket if a non-master zonegroup has a single zone 14766/head
authorweiqiaomiao <wei.qiaomiao@zte.com.cn>
Tue, 6 Sep 2016 08:34:52 +0000 (16:34 +0800)
committerNathan Cutler <ncutler@suse.com>
Tue, 25 Apr 2017 06:58:11 +0000 (08:58 +0200)
If a non-master zonegroup has a single zone, the metadata sync thread not running and
the non-master zonegroup can't sync user from master zonegroup,
so we can't create bucket(or other metadata update) in it
because the authenticated user not found in the zone of non-master zonegroup.

Signed-off-by: weiqiaomiao <wei.qiaomiao@zte.com.cn>
(cherry picked from commit 949af79b21098e6410bc29274cf36eae2d89faea)

Conflicts:
        src/rgw/rgw_rados.cc - retain d32654b7cd60ccc4e23d3f05b9e4385a697bacd6
            which was merged after this commit

src/rgw/rgw_rados.cc

index f8e8db2932733d3b142f4dfd695839e3e75f9ef2..334648c6107925769cb8ae1e985f436c8751de67 100644 (file)
@@ -3861,9 +3861,9 @@ int RGWRados::init_complete()
     meta_mgr->init_oldest_log_period();
   }
 
-  /* not point of running sync thread if there is a single zone or
-     we don't have a master zone configured or there is no rest_master_conn */
-  if (get_zonegroup().zones.size() < 2 || get_zonegroup().master_zone.empty() || !rest_master_conn) {
+  /* no point of running sync thread if we don't have a master zone configured
+     or there is no rest_master_conn */
+  if (get_zonegroup().master_zone.empty() || !rest_master_conn) {
     run_sync_thread = false;
   }