return 0;
}
-static void generate_reshard_key(const string& bucket_name, const string& bucket_id, string *key)
+static void generate_reshard_key(const string& tenant, const string& bucket_name, string *key)
{
- *key = bucket_name + "." + bucket_id;
+ *key = tenant + ":" + bucket_name;
}
static void generate_reshard_key(const cls_rgw_reshard_entry& entry, string *key)
{
- generate_reshard_key(entry.bucket_name, entry.bucket_id, key);
+ generate_reshard_key(entry.tenant, entry.bucket_name, key);
}
static int rgw_reshard_add(cls_method_context_t hctx, bufferlist *in, bufferlist *out)
#define dout_context g_ceph_context
#define dout_subsys ceph_subsys_rgw
-const string reshard_oid_prefix = "reshard";
+const string reshard_oid_prefix = "reshard.";
const string reshard_lock_name = "reshard_process";
const string bucket_instance_lock_name = "bucket_instance_lock";
string RGWReshard::get_logshard_key(const string& tenant, const string& bucket_name)
{
- return bucket_name + ":" + tenant; /* transposed on purpose */
+ return tenant + ":" + bucket_name;
}
#define MAX_RESHARD_LOGSHARDS_PRIME 7877
get_logshard_oid(logshard_num, &logshard_oid);
int ret = cls_rgw_reshard_list(store->reshard_pool_ctx, logshard_oid, marker, max, entries, is_truncated);
- if (ret < 0) {
+ if (ret < 0 && ret != -ENOENT) {
lderr(store->ctx()) << "ERROR: failed to list reshard log entries, oid=" << logshard_oid << dendl;
return ret;
}
+ if (ret == -ENOENT) {
+ *is_truncated = false;
+ }
return 0;
}