diff --git a/src/cls/CMakeLists.txt b/src/cls/CMakeLists.txt index d62273d4c4a..127af83881b 100644 --- a/src/cls/CMakeLists.txt +++ b/src/cls/CMakeLists.txt @@ -148,7 +148,9 @@ set_target_properties(cls_timeindex PROPERTIES CXX_VISIBILITY_PRESET hidden) install(TARGETS cls_timeindex DESTINATION ${cls_dir}) -set(cls_timeindex_client_srcs timeindex/cls_timeindex_client.cc) +set(cls_timeindex_client_srcs + timeindex/cls_timeindex_types.cc + timeindex/cls_timeindex_client.cc) add_library(cls_timeindex_client STATIC ${cls_timeindex_client_srcs}) diff --git a/src/cls/timeindex/cls_timeindex_types.cc b/src/cls/timeindex/cls_timeindex_types.cc new file mode 100644 index 00000000000..98c3741863f --- /dev/null +++ b/src/cls/timeindex/cls_timeindex_types.cc @@ -0,0 +1,21 @@ +#include "cls_timeindex_types.h" +#include "common/Formatter.h" + +void cls_timeindex_entry::dump(Formatter *f) const +{ + f->dump_stream("key_ts") << key_ts; + f->dump_string("key_ext", key_ext); + f->dump_string("value", value.to_str()); +} + +void cls_timeindex_entry::generate_test_instances(list& o) +{ + cls_timeindex_entry *i = new cls_timeindex_entry; + i->key_ts = utime_t(0,0); + i->key_ext = "foo"; + bufferlist bl; + bl.append("bar"); + i->value = bl; + o.push_back(i); + o.push_back(new cls_timeindex_entry); +} diff --git a/src/cls/timeindex/cls_timeindex_types.h b/src/cls/timeindex/cls_timeindex_types.h index 2b381767cf6..90ac3b8e55d 100644 --- a/src/cls/timeindex/cls_timeindex_types.h +++ b/src/cls/timeindex/cls_timeindex_types.h @@ -37,6 +37,9 @@ struct cls_timeindex_entry { decode(value, bl); DECODE_FINISH(bl); } + + void dump(Formatter *f) const; + static void generate_test_instances(list& o); }; WRITE_CLASS_ENCODER(cls_timeindex_entry) diff --git a/src/rgw/rgw_dencoder.cc b/src/rgw/rgw_dencoder.cc index 91078c15db1..41216fe91b2 100644 --- a/src/rgw/rgw_dencoder.cc +++ b/src/rgw/rgw_dencoder.cc @@ -562,3 +562,14 @@ void rgw_data_sync_status::generate_test_instances(list& { o.push_back(new rgw_data_sync_status); } + +void objexp_hint_entry::generate_test_instances(list& o) +{ + auto it = new objexp_hint_entry; + it->tenant = "tenant1"; + it->bucket_name = "bucket1"; + it->bucket_id = "1234"; + it->obj_key = rgw_obj_key("obj"); + o.push_back(it); + o.push_back(new objexp_hint_entry); +} diff --git a/src/rgw/rgw_json_enc.cc b/src/rgw/rgw_json_enc.cc index 046f9294949..6b4756cda90 100644 --- a/src/rgw/rgw_json_enc.cc +++ b/src/rgw/rgw_json_enc.cc @@ -1748,3 +1748,15 @@ void RGWCompressionInfo::dump(Formatter *f) const f->dump_unsigned("orig_size", orig_size); ::encode_json("blocks", blocks, f); } + +void objexp_hint_entry::dump(Formatter *f) const +{ + f->open_object_section("objexp_hint_entry"); + encode_json("tenant", tenant, f); + encode_json("bucket_name", bucket_name, f); + encode_json("bucket_id", bucket_id, f); + encode_json("rgw_obj_key", obj_key, f); + utime_t ut(exp_time); + encode_json("exp_time", ut, f); + f->close_section(); +} diff --git a/src/rgw/rgw_rados.h b/src/rgw/rgw_rados.h index 235dfab0a09..1318199e0f1 100644 --- a/src/rgw/rgw_rados.h +++ b/src/rgw/rgw_rados.h @@ -1023,6 +1023,9 @@ struct objexp_hint_entry { } DECODE_FINISH(bl); } + + void dump(Formatter *f) const; + static void generate_test_instances(list& o); }; WRITE_CLASS_ENCODER(objexp_hint_entry) diff --git a/src/tools/ceph-dencoder/common_types.h b/src/tools/ceph-dencoder/common_types.h index 402943ad642..3cf9e2d18bb 100644 --- a/src/tools/ceph-dencoder/common_types.h +++ b/src/tools/ceph-dencoder/common_types.h @@ -84,6 +84,9 @@ TYPE(cls_refcount_read_op) TYPE(cls_refcount_read_ret) TYPE(obj_refcount) +#include "cls/timeindex/cls_timeindex_types.h" +TYPE(cls_timeindex_entry) + #include "journal/Entry.h" TYPE(journal::Entry) diff --git a/src/tools/ceph-dencoder/rgw_types.h b/src/tools/ceph-dencoder/rgw_types.h index 6d1b2b785af..f916e66711a 100644 --- a/src/tools/ceph-dencoder/rgw_types.h +++ b/src/tools/ceph-dencoder/rgw_types.h @@ -4,6 +4,7 @@ TYPE(RGWOLHInfo) TYPE(RGWObjManifestPart) TYPE(RGWObjManifest) +TYPE(objexp_hint_entry) #include "rgw/rgw_zone.h" TYPE(RGWZoneParams)