]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: create default zonegroup for first time run of the gateway
authorOrit Wasserman <owasserm@redhat.com>
Thu, 15 Oct 2015 12:19:42 +0000 (14:19 +0200)
committerYehuda Sadeh <yehuda@redhat.com>
Fri, 12 Feb 2016 00:13:14 +0000 (16:13 -0800)
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
src/rgw/rgw_rados.cc
src/rgw/rgw_rados.h

index 51a053ce33237d33ebff7f8bfac2f029cb93b2f7..63846a1eaffa041b6e4cc4cdacff4087c43b646c 100644 (file)
@@ -283,9 +283,6 @@ int RGWSystemMetaObj::init(CephContext *_cct, RGWRados *_store, bool setup_obj,
       name = get_predefined_name();
       if (id.empty()) {
        r = use_default(old_format);
-       if (r == -ENOENT) { 
-         r = create_default();
-       }
        if (r < 0) {
          return r;
        }
@@ -2968,6 +2965,19 @@ int RGWRados::init_complete()
   if (ret < 0 && ret != -ENOENT) {
     lderr(cct) << "failed reading zonegroup info: ret "<< ret << " " << cpp_strerror(-ret) << dendl;
     return ret;
+  } else if (ret == -ENOENT) {
+    ret = zonegroup.create_default();
+    if (ret < 0) {
+      lderr(cct) << "failure in zonegroup create_default: ret "<< ret << " " << cpp_strerror(-ret)
+                << dendl;
+      return ret;
+    }
+    ret = zonegroup.init(cct, this);
+    if (ret < 0) {
+      lderr(cct) << "failure in zonegroup create_default: ret "<< ret << " " << cpp_strerror(-ret)
+                << dendl;
+      return ret;
+    }
   }
 
   ret = zone.init(cct, this);
index 70f554878f8cf2dfa3507e36a34425bfa62aa501..eb2633b7fcdb919fce702b6884bed8fd63b10082 100644 (file)
@@ -754,9 +754,6 @@ protected:
                   const string& oid);
   /* read and use default id */
   int use_default(bool old_format = false);
-  virtual int create_default(bool old_format = false) {
-    return -ENOENT;
-  }
 
 public:
   RGWSystemMetaObj() {}