]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: Do not archive metadata by default 11321/head
authorroot <root@ceph-node1.homeoffice.wal-mart.com>
Mon, 12 Sep 2016 09:00:43 +0000 (14:30 +0530)
committerMatt Benjamin <mbenjamin@redhat.com>
Tue, 25 Oct 2016 19:44:01 +0000 (15:44 -0400)
Fixes: http://tracker.ceph.com/issues/17256
Signed-off-by: Pavan Rallabhandi <PRallabhandi@walmartlabs.com>
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
(cherry picked from commit c617ea83e0cca0061af18e0811c7ef8b4e836519)

src/rgw/rgw_metadata.cc
src/rgw/rgw_rados.cc

index 3160ce0b19896c6312902fa6df955bdfe47bd44c..ea6e7932b8d030f1d2888091c7c413da2f2c778a 100644 (file)
@@ -830,6 +830,10 @@ int RGWMetadataManager::store_in_heap(RGWMetadataHandler *handler, const string&
 
   rgw_bucket heap_pool(store->get_zone_params().metadata_heap);
 
+  if (heap_pool.name.empty()) {
+    return 0;
+  }
+
   RGWObjVersionTracker otracker;
   otracker.write_version = objv_tracker->write_version;
   string oid = heap_oid(handler, key, objv_tracker->write_version);
@@ -852,6 +856,10 @@ int RGWMetadataManager::remove_from_heap(RGWMetadataHandler *handler, const stri
 
   rgw_bucket heap_pool(store->get_zone_params().metadata_heap);
 
+  if (heap_pool.name.empty()) {
+    return 0;
+  }
+
   string oid = heap_oid(handler, key, objv_tracker->write_version);
   rgw_obj obj(heap_pool, oid);
   int ret = store->delete_system_obj(obj);
@@ -886,6 +894,7 @@ int RGWMetadataManager::put_entry(RGWMetadataHandler *handler, const string& key
   ret = rgw_put_system_obj(store, bucket, oid,
                            bl.c_str(), bl.length(), exclusive,
                            objv_tracker, mtime, pattrs);
+
   if (ret < 0) {
     int r = remove_from_heap(handler, key, objv_tracker);
     if (r < 0) {
index 66c979dd6bc27d767a24024cec454d28796b438e..2def22ddd41d2b09cbd6a2fe8acb14d7b86a0009 100644 (file)
@@ -1466,7 +1466,9 @@ int RGWZoneParams::fix_pool_names()
   }
 
   domain_root = fix_zone_pool_name(pool_names, name, ".rgw.data.root", domain_root.name);
-  metadata_heap = fix_zone_pool_name(pool_names, name, ".rgw.meta", metadata_heap.name);
+  if (!metadata_heap.name.empty()) {
+    metadata_heap = fix_zone_pool_name(pool_names, name, ".rgw.meta", metadata_heap.name);
+  }
   control_pool = fix_zone_pool_name(pool_names, name, ".rgw.control", control_pool.name);
   gc_pool = fix_zone_pool_name(pool_names, name ,".rgw.gc", gc_pool.name);
   log_pool = fix_zone_pool_name(pool_names, name, ".rgw.log", log_pool.name);
@@ -3333,11 +3335,6 @@ int RGWRados::replace_region_with_zonegroup()
       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();
-    }
     /* update master zone */
     RGWZoneGroup default_zg(default_zonegroup_name);
     ret = default_zg.init(cct, this);
@@ -3449,9 +3446,6 @@ 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) {