string buckets_obj_id;
rgw_get_buckets_obj(user_id, buckets_obj_id);
bufferlist bl;
- rgw_obj obj(store->zone.user_uid_pool, buckets_obj_id);
+ rgw_obj obj(store->get_zone_params().user_uid_pool, buckets_obj_id);
bufferlist header;
list<cls_user_bucket_entry> entries;
{
string buckets_obj_id;
rgw_get_buckets_obj(user_id, buckets_obj_id);
- rgw_obj obj(store->zone.user_uid_pool, buckets_obj_id);
+ rgw_obj obj(store->get_zone_params().user_uid_pool, buckets_obj_id);
return store->cls_user_sync_bucket_stats(obj, bucket);
}
string buckets_obj_id;
rgw_get_buckets_obj(user_id, buckets_obj_id);
- rgw_obj obj(store->zone.user_uid_pool, buckets_obj_id);
+ rgw_obj obj(store->get_zone_params().user_uid_pool, buckets_obj_id);
ret = store->cls_user_add_bucket(obj, new_bucket);
if (ret < 0) {
ldout(store->ctx(), 0) << "ERROR: error adding bucket to directory: "
cls_user_bucket bucket;
bucket.name = bucket_name;
- rgw_obj obj(store->zone.user_uid_pool, buckets_obj_id);
+ rgw_obj obj(store->get_zone_params().user_uid_pool, buckets_obj_id);
ret = store->cls_user_remove_bucket(obj, bucket);
if (ret < 0) {
ldout(store->ctx(), 0) << "ERROR: error removing bucket from directory: "
}
string oid;
store->get_bucket_meta_oid(bucket, oid);
- rgw_obj obj(store->zone.domain_root, oid);
+ rgw_obj obj(store->get_zone_params().domain_root, oid);
string key;
store->get_bucket_instance_entry(bucket, key); /* we want the bucket instance name without
void get_pool_and_oid(RGWRados *store, const string& key, rgw_bucket& bucket, string& oid) {
oid = key;
- bucket = store->zone.domain_root;
+ bucket = store->get_zone_params().domain_root;
}
int list_keys_init(RGWRados *store, void **phandle)
list<string> unfiltered_keys;
- int ret = store->list_raw_objects(store->zone.domain_root, no_filter,
+ int ret = store->list_raw_objects(store->get_zone_params().domain_root, no_filter,
max, info->ctx, unfiltered_keys, truncated);
if (ret < 0 && ret != -ENOENT)
return ret;
void get_pool_and_oid(RGWRados *store, const string& key, rgw_bucket& bucket, string& oid) {
oid = RGW_BUCKET_INSTANCE_MD_PREFIX + key;
- bucket = store->zone.domain_root;
+ bucket = store->get_zone_params().domain_root;
}
int list_keys_init(RGWRados *store, void **phandle)
list<string> unfiltered_keys;
- int ret = store->list_raw_objects(store->zone.domain_root, no_filter,
+ int ret = store->list_raw_objects(store->get_zone_params().domain_root, no_filter,
max, info->ctx, unfiltered_keys, truncated);
if (ret < 0 && ret != -ENOENT)
return ret;
const string& start_marker, const string& end_marker);
int get_info(int shard_id, RGWDataChangesLogInfo *info);
int lock_exclusive(int shard_id, utime_t& duration, string& zone_id, string& owner_id) {
- return store->lock_exclusive(store->zone.log_pool, oids[shard_id], duration, zone_id, owner_id);
+ return store->lock_exclusive(store->get_zone_params().log_pool, oids[shard_id], duration, zone_id, owner_id);
}
int unlock(int shard_id, string& zone_id, string& owner_id) {
- return store->unlock(store->zone.log_pool, oids[shard_id], zone_id, owner_id);
+ return store->unlock(store->get_zone_params().log_pool, oids[shard_id], zone_id, owner_id);
}
struct LogMarker {
int shard;
dst_bucket = src_bucket;
dst_obj = src_obj;
} else {
- dst_bucket = T::zone.domain_root;
+ dst_bucket = T::get_zone_params().domain_root;
dst_obj = src_bucket.name;
}
}
rgw_bucket() { }
// cppcheck-suppress noExplicitConstructor
- rgw_bucket(const cls_user_bucket& b) : tenant(b.tenant), name(b.name), data_pool(b.data_pool),
+ rgw_bucket(const cls_user_bucket& b) : name(b.name), data_pool(b.data_pool),
data_extra_pool(b.data_extra_pool),
index_pool(b.index_pool), marker(b.marker),
- bucket_id(b.bucket_id), oid(b.oid) {}
- // cppcheck-suppress noExplicitConstructor
- rgw_bucket(const cls_user_bucket& b) {
- name = b.name;
- data_pool = b.data_pool;
- data_extra_pool = b.data_extra_pool;
- index_pool = b.index_pool;
- marker = b.marker;
- bucket_id = b.bucket_id;
- }
+ bucket_id(b.bucket_id) {}
rgw_bucket(const string& s) : name(s) {
data_pool = index_pool = s;
marker = "";
string oid = render_log_object_name(s->cct->_conf->rgw_log_object_name, &bdt,
s->bucket.bucket_id, entry.bucket);
- rgw_obj obj(store->zone.log_pool, oid);
+ rgw_obj obj(store->get_zone_params().log_pool, oid);
ret = store->append_async(obj, bl.length(), bl);
if (ret == -ENOENT) {
- ret = store->create_pool(store->zone.log_pool);
+ ret = store->create_pool(store->get_zone_params().log_pool);
if (ret < 0)
goto done;
// retry
string oid;
get_shard_oid(shard_id, oid);
- return store->lock_exclusive(store->zone.log_pool, oid, duration, zone_id, owner_id);
+ return store->lock_exclusive(store->get_zone_params().log_pool, oid, duration, zone_id, owner_id);
}
int RGWMetadataLog::unlock(int shard_id, string& zone_id, string& owner_id) {
string oid;
get_shard_oid(shard_id, oid);
- return store->unlock(store->zone.log_pool, oid, zone_id, owner_id);
+ return store->unlock(store->get_zone_params().log_pool, oid, zone_id, owner_id);
}
void RGWMetadataLog::mark_modified(int shard_id)
return -EINVAL;
}
- rgw_bucket heap_pool(store->zone.metadata_heap);
+ rgw_bucket heap_pool(store->get_zone_params().metadata_heap);
RGWObjVersionTracker otracker;
otracker.write_version = objv_tracker->write_version;
return -EINVAL;
}
- rgw_bucket heap_pool(store->zone.metadata_heap);
+ rgw_bucket heap_pool(store->get_zone_params().metadata_heap);
string oid = heap_oid(handler, key, objv_tracker->write_version);
rgw_obj obj(heap_pool, oid);
bool existed;
string bucket_name;
rgw_make_bucket_entry_name(s->bucket_tenant, s->bucket_name, bucket_name);
- rgw_obj obj(store->zone.domain_root, bucket_name);
+ rgw_obj obj(store->get_zone_params().domain_root, bucket_name);
obj_version objv, *pobjv = NULL;
op_ret = get_params();
goto delop_fail;
}
- if (!store->zonegroup.is_master) {
+ if (!store->get_zonegroup().is_master) {
bufferlist in_data;
JSONParser jp;
ret = forward_request_to_master(s, &ot.read_version, store, in_data,
}
return result;
} else {
- rgw_obj new_obj(store->zone.domain_root, obj.bucket.name);
+ rgw_obj new_obj(store->get_zone_params().domain_root, obj.bucket.name);
iter = objs_state.find(new_obj);
if (iter != objs_state.end()) {
result = &iter->second;
if (!obj.get_object().empty()) {
objs_state[obj].is_atomic = true;
} else {
- rgw_obj new_obj(store->zone.domain_root, obj.bucket.name);
+ rgw_obj new_obj(store->get_zone_params().domain_root, obj.bucket.name);
objs_state[new_obj].is_atomic = true;
}
}
if (!obj.get_object().empty()) {
objs_state[obj].prefetch_data = true;
} else {
- rgw_obj new_obj(store->zone.domain_root, obj.bucket.name);
+ rgw_obj new_obj(store->get_zone_params().domain_root, obj.bucket.name);
objs_state[new_obj].prefetch_data = true;
}
}
int notify_all(map<string, RGWRESTConn *>& conn_map, map<int, set<string> >& shards) {
rgw_http_param_pair pairs[] = { { "type", "data" },
{ "notify", NULL },
- { "source-zone", store->zone.get_name().c_str() },
+ { "source-zone", store->get_zone_params().get_name().c_str() },
{ NULL, NULL } };
list<RGWCoroutinesStack *> stacks;
period_zonegroup = iter->second;
has_period_zonegroup = true;
map<string, RGWZone>::iterator zone_iter =
- period_zonegroup.zones.find(zone.get_predefined_name(cct));
+ period_zonegroup.zones.find(zone_params.get_predefined_name(cct));
if (zone_iter != zonegroup.zones.end()) {
- period_zone= zone_iter->second;
+ period_zone = zone_iter->second;
has_period_zone = true;
} else {
- lderr(cct) << "Cannot find zone " << zone.get_predefined_name(cct) <<
+ lderr(cct) << "Cannot find zone " << zone_params.get_predefined_name(cct) <<
" in current period using local" << dendl;
}
} else {
}
if (!has_period_zone) {
- ret = zone.init(cct, this);
+ ret = zone_params.init(cct, this);
if (ret < 0 && ret != -ENOENT) {
lderr(cct) << "failed reading zone info: ret "<< ret << " " << cpp_strerror(-ret) << dendl;
return ret;
for (ziter = zonegroup.zones.begin(); ziter != zonegroup.zones.end(); ++ziter) {
const string& id = ziter->first;
RGWZone& z = ziter->second;
- if (id != zone.get_id()) {
+ if (id != zone_id()) {
if (!z.endpoints.empty()) {
ldout(cct, 20) << "generating connection object for zone " << z.name << " id " << z.id << dendl;
zone_conn_map[id] = new RGWRESTConn(cct, this, z.endpoints);
*/
int RGWRados::open_root_pool_ctx()
{
- const string& pool = zone.domain_root.name;
+ const string& pool = get_zone_params().domain_root.name;
const char *pool_str = pool.c_str();
librados::Rados *rad = get_rados_handle();
int r = rad->ioctx_create(pool_str, root_pool_ctx);
int RGWRados::open_gc_pool_ctx()
{
- const char *gc_pool = zone.gc_pool.name.c_str();
+ const char *gc_pool = get_zone_params().gc_pool.name.c_str();
librados::Rados *rad = get_rados_handle();
int r = rad->ioctx_create(gc_pool, gc_pool_ctx);
if (r == -ENOENT) {
int RGWRados::open_objexp_pool_ctx()
{
- const char * const pool_name = zone.log_pool.name.c_str();
+ const char * const pool_name = get_zone_params().log_pool.name.c_str();
librados::Rados * const rad = get_rados_handle();
int r = rad->ioctx_create(pool_name, objexp_pool_ctx);
if (r == -ENOENT) {
int RGWRados::init_watch()
{
- const char *control_pool = zone.control_pool.name.c_str();
+ const char *control_pool = get_zone_params().control_pool.name.c_str();
librados::Rados *rad = rados[0];
int r = rad->ioctx_create(control_pool, control_pool_ctx);
int RGWRados::log_list_init(const string& prefix, RGWAccessHandle *handle)
{
log_list_state *state = new log_list_state;
- const char *log_pool = zone.log_pool.name.c_str();
+ const char *log_pool = get_zone_params().log_pool.name.c_str();
librados::Rados *rad = get_rados_handle();
int r = rad->ioctx_create(log_pool, state->io_ctx);
if (r < 0) {
int RGWRados::log_remove(const string& name)
{
librados::IoCtx io_ctx;
- const char *log_pool = zone.log_pool.name.c_str();
+ const char *log_pool = get_zone_params().log_pool.name.c_str();
librados::Rados *rad = get_rados_handle();
int r = rad->ioctx_create(log_pool, io_ctx);
if (r < 0)
int RGWRados::log_show_init(const string& name, RGWAccessHandle *handle)
{
log_show_state *state = new log_show_state;
- const char *log_pool = zone.log_pool.name.c_str();
+ const char *log_pool = get_zone_params().log_pool.name.c_str();
librados::Rados *rad = get_rados_handle();
int r = rad->ioctx_create(log_pool, state->io_ctx);
if (r < 0) {
int RGWRados::time_log_add_init(librados::IoCtx& io_ctx)
{
- const char *log_pool = zone.log_pool.name.c_str();
+ const char *log_pool = get_zone_params().log_pool.name.c_str();
librados::Rados *rad = get_rados_handle();
int r = rad->ioctx_create(log_pool, io_ctx);
if (r == -ENOENT) {
{
librados::IoCtx io_ctx;
- const char *log_pool = zone.log_pool.name.c_str();
+ const char *log_pool = get_zone_params().log_pool.name.c_str();
librados::Rados *rad = get_rados_handle();
int r = rad->ioctx_create(log_pool, io_ctx);
if (r < 0)
{
librados::IoCtx io_ctx;
- const char *log_pool = zone.log_pool.name.c_str();
+ const char *log_pool = get_zone_params().log_pool.name.c_str();
librados::Rados *rad = get_rados_handle();
int r = rad->ioctx_create(log_pool, io_ctx);
if (r < 0)
int RGWRados::time_log_info_async(librados::IoCtx& io_ctx, const string& oid, cls_log_header *header, librados::AioCompletion *completion)
{
- const char *log_pool = zone.log_pool.name.c_str();
+ const char *log_pool = get_zone_params().log_pool.name.c_str();
librados::Rados *rad = get_rados_handle();
int r = rad->ioctx_create(log_pool, io_ctx);
if (r < 0)
{
librados::IoCtx io_ctx;
- const char *log_pool = zone.log_pool.name.c_str();
+ const char *log_pool = get_zone_params().log_pool.name.c_str();
librados::Rados *rad = get_rados_handle();
int r = rad->ioctx_create(log_pool, io_ctx);
if (r < 0)
uint32_t nop = 0;
::encode(nop, bl);
- const string& pool = zone.domain_root.name;
+ const string& pool = get_zone_params().domain_root.name;
const char *pool_str = pool.c_str();
librados::IoCtx id_io_ctx;
librados::Rados *rad = get_rados_handle();
if (!pmaster_bucket) {
uint64_t iid = instance_id();
uint64_t bid = next_bucket_id();
- char buf[zone.get_id().size() + 48];
- snprintf(buf, sizeof(buf), "%s.%llu.%llu", zone.get_id().c_str(), (long long)iid, (long long)bid);
+ char buf[get_zone_params().get_id().size() + 48];
+ snprintf(buf, sizeof(buf), "%s.%llu.%llu", get_zone_params().get_id().c_str(), (long long)iid, (long long)bid);
bucket.marker = buf;
bucket.bucket_id = bucket.marker;
} else {
* checking it for the local zone, because that's where this bucket object is going to
* reside.
*/
- map<string, RGWZonePlacementInfo>::iterator piter = zone.placement_pools.find(location_rule);
- if (piter == zone.placement_pools.end()) {
+ map<string, RGWZonePlacementInfo>::iterator piter = get_zone_params().placement_pools.find(location_rule);
+ if (piter == get_zone_params().placement_pools.end()) {
/* couldn't find, means we cannot really place data for this bucket in this zone */
if (zonegroup.equals(zonegroup_id)) {
/* that's a configuration error, zone should have that rule, as we're within the requested
const string& tenant_name, const string& bucket_name, rgw_bucket& bucket,
string *pselected_rule)
{
- if (!zone.placement_pools.empty()) {
+ if (!get_zone_params().placement_pools.empty()) {
return select_new_bucket_location(user_info, zonegroup_id, placement_rule,
tenant_name, bucket_name, bucket, pselected_rule);
}
string pool_name;
bool write_map = false;
- rgw_obj obj(zone.domain_root, avail_pools);
+ rgw_obj obj(get_zone_params().domain_root, avail_pools);
RGWObjectCtx obj_ctx(this);
- int ret = rgw_get_system_obj(this, obj_ctx, zone.domain_root, avail_pools, map_bl, NULL, NULL);
+ int ret = rgw_get_system_obj(this, obj_ctx, get_zone_params().domain_root, avail_pools, map_bl, NULL, NULL);
if (ret < 0) {
goto read_omap;
}
{
bufferlist header;
map<string, bufferlist> m;
- rgw_obj obj(zone.domain_root, avail_pools);
+ rgw_obj obj(get_zone_params().domain_root, avail_pools);
int ret = omap_get_all(obj, header, m);
if (ret < 0)
return ret;
if (ret < 0) // DNE, or something
return ret;
- rgw_obj obj(zone.domain_root, avail_pools);
+ rgw_obj obj(get_zone_params().domain_root, avail_pools);
bufferlist empty_bl;
ret = omap_set(obj, new_pool, empty_bl);
int RGWRados::remove_bucket_placement(std::string& old_pool)
{
- rgw_obj obj(zone.domain_root, avail_pools);
+ rgw_obj obj(get_zone_params().domain_root, avail_pools);
int ret = omap_del(obj, old_pool);
// don't care about return value
bufferlist header;
map<string, bufferlist> m;
- rgw_obj obj(zone.domain_root, avail_pools);
+ rgw_obj obj(get_zone_params().domain_root, avail_pools);
int ret = omap_get_all(obj, header, m);
if (ret < 0)
return ret;
if (ref->oid.empty()) {
ref->oid = bucket->name;
- *bucket = zone.domain_root;
+ *bucket = get_zone_params().domain_root;
}
r = open_pool_ctx(bucket->name, ref->ioctx);
if (r < 0)
void RGWRados::get_bucket_instance_obj(rgw_bucket& bucket, rgw_obj& obj)
{
if (!bucket.oid.empty()) {
- obj.init(zone.domain_root, bucket.oid);
+ obj.init(get_zone_params().domain_root, bucket.oid);
} else {
string oid;
get_bucket_meta_oid(bucket, oid);
- obj.init(zone.domain_root, oid);
+ obj.init(get_zone_params().domain_root, oid);
}
}
time_t *pmtime, map<string, bufferlist> *pattrs,
rgw_cache_entry_info *cache_info)
{
- ldout(cct, 20) << "reading from " << zone.domain_root << ":" << oid << dendl;
+ ldout(cct, 20) << "reading from " << get_zone_params().domain_root << ":" << oid << dendl;
bufferlist epbl;
- int ret = rgw_get_system_obj(this, obj_ctx, zone.domain_root, oid, epbl, &info.objv_tracker, pmtime, pattrs, cache_info);
+ int ret = rgw_get_system_obj(this, obj_ctx, get_zone_params().domain_root, oid, epbl, &info.objv_tracker, pmtime, pattrs, cache_info);
if (ret < 0) {
return ret;
}
string bucket_entry;
rgw_make_bucket_entry_name(tenant_name, bucket_name, bucket_entry);
- int ret = rgw_get_system_obj(this, obj_ctx, zone.domain_root, bucket_entry, bl, objv_tracker, pmtime, pattrs, cache_info);
+ int ret = rgw_get_system_obj(this, obj_ctx, get_zone_params().domain_root, bucket_entry, bl, objv_tracker, pmtime, pattrs, cache_info);
if (ret < 0) {
return ret;
}
{
librados::IoCtx io_ctx;
- const char *usage_log_pool = zone.usage_log_pool.name.c_str();
+ const char *usage_log_pool = get_zone_params().usage_log_pool.name.c_str();
librados::Rados *rad = get_rados_handle();
int r = rad->ioctx_create(usage_log_pool, io_ctx);
if (r == -ENOENT) {
*is_truncated = false;
- const char *usage_log_pool = zone.usage_log_pool.name.c_str();
+ const char *usage_log_pool = get_zone_params().usage_log_pool.name.c_str();
librados::Rados *rad = get_rados_handle();
int r = rad->ioctx_create(usage_log_pool, io_ctx);
if (r < 0)
{
librados::IoCtx io_ctx;
- const char *usage_log_pool = zone.usage_log_pool.name.c_str();
+ const char *usage_log_pool = get_zone_params().usage_log_pool.name.c_str();
librados::Rados *rad = get_rados_handle();
int r = rad->ioctx_create(usage_log_pool, io_ctx);
if (r < 0)
{
string buckets_obj_id;
rgw_get_buckets_obj(user_id, buckets_obj_id);
- rgw_obj obj(zone.user_uid_pool, buckets_obj_id);
+ rgw_obj obj(get_zone_params().user_uid_pool, buckets_obj_id);
rgw_rados_ref ref;
rgw_bucket bucket;
{
string buckets_obj_id;
rgw_get_buckets_obj(user_id, buckets_obj_id);
- rgw_obj obj(zone.user_uid_pool, buckets_obj_id);
+ rgw_obj obj(get_zone_params().user_uid_pool, buckets_obj_id);
rgw_rados_ref ref;
rgw_bucket bucket;
string buckets_obj_id;
rgw_get_buckets_obj(user_id, buckets_obj_id);
- rgw_obj obj(zone.user_uid_pool, buckets_obj_id);
+ rgw_obj obj(get_zone_params().user_uid_pool, buckets_obj_id);
int r = cls_user_update_buckets(obj, entries, false);
if (r < 0) {
{
string buckets_obj_id;
rgw_get_buckets_obj(user_id, buckets_obj_id);
- rgw_obj obj(zone.user_uid_pool, buckets_obj_id);
+ rgw_obj obj(get_zone_params().user_uid_pool, buckets_obj_id);
return cls_user_complete_stats_sync(obj);
}
RGWZoneGroup zonegroup;
RGWZone zone_public_config; /* external zone params, e.g., entrypoints, log flags, etc. */
+ RGWZoneParams zone_params; /* internal zone params, e.g., rados pools */
RGWZoneGroup period_zonegroup;
RGWZone period_zone; /* external zone params, e.g., entrypoints, log flags, etc. */
*/
void init_host_id() {
/* uint64_t needs 16, two '-' separators and a trailing null */
- const string& zone_name = zone.get_name();
+ const string& zone_name = get_zone().name;
const string& zonegroup_name = zonegroup.get_name();
char charbuf[16 + zone_name.size() + zonegroup_name.size() + 2 + 1];
snprintf(charbuf, sizeof(charbuf), "%llx-%s-%s", (unsigned long long)instance_id(), zone_name.c_str(), zonegroup_name.c_str());
RGWRealm realm;
RGWPeriod current_period;
- RGWZoneParams zone; /* internal zone params, e.g., rados pools */
RGWRESTConn *rest_master_conn;
map<string, RGWRESTConn *> zone_conn_map;
map<string, RGWRESTConn *> zonegroup_conn_map;
- RGWZoneParams& get_zone_params() { return zone; }
+ RGWZoneParams& get_zone_params() { return zone_params; }
RGWZoneGroup& get_zonegroup() {
if (has_period_zonegroup) {
return period_zonegroup;
uint64_t instance_id();
const string& zone_id() {
- return zone.get_id();
+ return get_zone_params().get_id();
}
string unique_id(uint64_t unique_num) {
char buf[32];
snprintf(buf, sizeof(buf), ".%llu.%llu", (unsigned long long)instance_id(), (unsigned long long)unique_num);
- string s = zone.get_id() + buf;
+ string s = get_zone_params().get_id() + buf;
return s;
}
char buf[16 + 2 + 1]; /* uint64_t needs 16, 2 hyphens add further 2 */
snprintf(buf, sizeof(buf), "-%llx-", (unsigned long long)instance_id());
- url_encode(string(buf) + zone.get_name(), trans_id_suffix);
+ url_encode(string(buf) + get_zone_params().get_name(), trans_id_suffix);
}
/* In order to preserve compability with Swift API, transaction ID
}
void get_log_pool_name(string& name) {
- name = zone.log_pool.name;
+ name = get_zone_params().log_pool.name;
}
bool need_to_log_data() {
for (i = 0, iter = remote_endpoints.begin(); iter != remote_endpoints.end(); ++iter, ++i) {
endpoints[i] = *iter;
}
- key = store->zone.system_key;
+ key = store->get_zone_params().system_key;
zone_group = store->get_zonegroup().get_id();
}
if (old_info && old_info->swift_keys.count(siter->first) != 0)
continue;
- ret = rgw_put_system_obj(store, store->zone.user_swift_pool, k.id,
+ ret = rgw_put_system_obj(store, store->get_zone_params().user_swift_pool, k.id,
link_bl.c_str(), link_bl.length(), exclusive,
NULL, 0);
if (ret < 0)
RGWObjectCtx obj_ctx(store);
string oid = uid.to_str();
- int ret = rgw_get_system_obj(store, obj_ctx, store->zone.user_uid_pool, oid, bl, objv_tracker, pmtime, pattrs, cache_info);
+ int ret = rgw_get_system_obj(store, obj_ctx, store->get_zone_params().user_uid_pool, oid, bl, objv_tracker, pmtime, pattrs, cache_info);
if (ret < 0) {
return ret;
}
RGWObjVersionTracker *objv_tracker)
{
RGWObjectCtx obj_ctx(store);
- rgw_obj obj(store->zone.user_uid_pool, user_id.to_str());
+ rgw_obj obj(store->get_zone_params().user_uid_pool, user_id.to_str());
RGWRados::SystemObject src(store, obj_ctx, obj);
RGWRados::SystemObject::Read rop(&src);
int rgw_remove_key_index(RGWRados *store, RGWAccessKey& access_key)
{
- rgw_obj obj(store->zone.user_keys_pool, access_key.id);
+ rgw_obj obj(store->get_zone_params().user_keys_pool, access_key.id);
int ret = store->delete_system_obj(obj);
return ret;
}
int rgw_remove_email_index(RGWRados *store, string& email)
{
- rgw_obj obj(store->zone.user_email_pool, email);
+ rgw_obj obj(store->get_zone_params().user_email_pool, email);
int ret = store->delete_system_obj(obj);
return ret;
}
int rgw_remove_swift_name_index(RGWRados *store, string& swift_name)
{
- rgw_obj obj(store->zone.user_swift_pool, swift_name);
+ rgw_obj obj(store->get_zone_params().user_swift_pool, swift_name);
int ret = store->delete_system_obj(obj);
return ret;
}
}
}
- rgw_obj email_obj(store->zone.user_email_pool, info.user_email);
+ rgw_obj email_obj(store->get_zone_params().user_email_pool, info.user_email);
ldout(store->ctx(), 10) << "removing email index: " << info.user_email << dendl;
ret = store->delete_system_obj(email_obj);
if (ret < 0 && ret != -ENOENT) {
string buckets_obj_id;
rgw_get_buckets_obj(info.user_id, buckets_obj_id);
- rgw_obj uid_bucks(store->zone.user_uid_pool, buckets_obj_id);
+ rgw_obj uid_bucks(store->get_zone_params().user_uid_pool, buckets_obj_id);
ldout(store->ctx(), 10) << "removing user buckets index" << dendl;
ret = store->delete_system_obj(uid_bucks);
if (ret < 0 && ret != -ENOENT) {
string key;
info.user_id.to_str(key);
- rgw_obj uid_obj(store->zone.user_uid_pool, key);
+ rgw_obj uid_obj(store->get_zone_params().user_uid_pool, key);
ldout(store->ctx(), 10) << "removing user index: " << info.user_id << dendl;
ret = store->meta_mgr->remove_entry(user_meta_handler, key, &objv_tracker);
if (ret < 0 && ret != -ENOENT && ret != -ECANCELED) {
void get_pool_and_oid(RGWRados *store, const string& key, rgw_bucket& bucket, string& oid) {
oid = key;
- bucket = store->zone.user_uid_pool;
+ bucket = store->get_zone_params().user_uid_pool;
}
int list_keys_init(RGWRados *store, void **phandle)
list<string> unfiltered_keys;
- int ret = store->list_raw_objects(store->zone.user_uid_pool, no_filter,
+ int ret = store->list_raw_objects(store->get_zone_params().user_uid_pool, no_filter,
max, info->ctx, unfiltered_keys, truncated);
if (ret < 0 && ret != -ENOENT)
return ret;