From: Yehuda Sadeh Date: Wed, 24 May 2017 18:23:46 +0000 (-0700) Subject: cls/rgw: expose api to generate reshard indexing key X-Git-Tag: ses5-milestone6~8^2~7^2~21 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6cb30f9c95fb9f436028a56c9662b96018163d41;p=ceph.git cls/rgw: expose api to generate reshard indexing key So that we could use it as a marker when doing reshard_list. Signed-off-by: Yehuda Sadeh --- diff --git a/src/cls/rgw/cls_rgw.cc b/src/cls/rgw/cls_rgw.cc index 3034b146c974..eb99d390d01c 100644 --- a/src/cls/rgw/cls_rgw.cc +++ b/src/cls/rgw/cls_rgw.cc @@ -3485,16 +3485,6 @@ static int rgw_cls_lc_get_head(cls_method_context_t hctx, bufferlist *in, buffe return 0; } -static void generate_reshard_key(const string& tenant, const string& bucket_name, string *key) -{ - *key = tenant + ":" + bucket_name; -} - -static void generate_reshard_key(const cls_rgw_reshard_entry& entry, string *key) -{ - generate_reshard_key(entry.tenant, entry.bucket_name, key); -} - static int rgw_reshard_add(cls_method_context_t hctx, bufferlist *in, bufferlist *out) { bufferlist::iterator in_iter = in->begin(); @@ -3509,7 +3499,7 @@ static int rgw_reshard_add(cls_method_context_t hctx, bufferlist *in, bufferlist string key; - generate_reshard_key(op.entry, &key); + op.entry.get_key(&key); bufferlist bl; ::encode(op.entry, bl); @@ -3589,7 +3579,7 @@ static int rgw_reshard_get(cls_method_context_t hctx, bufferlist *in, bufferlis string key; cls_rgw_reshard_entry entry; - generate_reshard_key(op.entry, &key); + op.entry.get_key(&key); int ret = get_reshard_entry(hctx, key, &entry); if (ret < 0) { return ret; @@ -3615,7 +3605,7 @@ static int rgw_reshard_remove(cls_method_context_t hctx, bufferlist *in, bufferl string key; cls_rgw_reshard_entry entry; - generate_reshard_key(op.tenant, op.bucket_name, &key); + cls_rgw_reshard_entry::generate_key(op.tenant, op.bucket_name, &key); int ret = get_reshard_entry(hctx, key, &entry); if (ret < 0) { return ret; diff --git a/src/cls/rgw/cls_rgw_types.cc b/src/cls/rgw/cls_rgw_types.cc index 7a24a3275348..cfb2f5340071 100644 --- a/src/cls/rgw/cls_rgw_types.cc +++ b/src/cls/rgw/cls_rgw_types.cc @@ -566,6 +566,16 @@ void rgw_bucket_dir::dump(Formatter *f) const f->close_section(); } +void cls_rgw_reshard_entry::generate_key(const string& tenant, const string& bucket_name, string *key) +{ + *key = tenant + ":" + bucket_name; +} + +void cls_rgw_reshard_entry::get_key(string *key) const +{ + generate_key(tenant, bucket_name, key); +} + void cls_rgw_reshard_entry::dump(Formatter *f) const { utime_t ut(time); diff --git a/src/cls/rgw/cls_rgw_types.h b/src/cls/rgw/cls_rgw_types.h index 7b1adf638e95..48d68da26334 100644 --- a/src/cls/rgw/cls_rgw_types.h +++ b/src/cls/rgw/cls_rgw_types.h @@ -1105,8 +1105,11 @@ struct cls_rgw_reshard_entry DECODE_FINISH(bl); } - void dump(Formatter *f) const; + void dump(Formatter *f) const; static void generate_test_instances(list& o); + + static void generate_key(const string& tenant, const string& bucket_name, string *key); + void get_key(string *key) const; }; WRITE_CLASS_ENCODER(cls_rgw_reshard_entry)