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);
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);
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) {
}
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);
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);
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) {