]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: Do not archive metadata by default 11051/head
authorroot <root@ceph-node1.homeoffice.wal-mart.com>
Mon, 12 Sep 2016 09:00:43 +0000 (14:30 +0530)
committerroot <root@ceph-node1.homeoffice.wal-mart.com>
Wed, 14 Sep 2016 05:30:27 +0000 (11:00 +0530)
Fixes: http://tracker.ceph.com/issues/17256
Signed-off-by: Pavan Rallabhandi <PRallabhandi@walmartlabs.com>
src/rgw/rgw_metadata.cc
src/rgw/rgw_rados.cc

index 7cc4cad3b5859d4ff9e56237cf5cdb2b1f554165..23805647cd72e14f079f420e1659187ab2fd07c2 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 b2a7d56330bbe1f26f52d72d52983889caafb10f..d43a815ccc312d866a3bd6ed9e9f72565403628d 100644 (file)
@@ -1492,7 +1492,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);
   lc_pool = fix_zone_pool_name(pool_names, name ,".rgw.lc", lc_pool.name);
@@ -3375,11 +3377,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);
@@ -3492,9 +3489,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) {