From: Abhishek Lekshmanan Date: Mon, 22 Jul 2019 14:40:23 +0000 (+0200) Subject: cls: add timeindex types to ceph-dencoder X-Git-Tag: v15.1.0~2039^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8c7e84f053e9da3a775c05c3c0c5b0431c4219ee;p=ceph.git cls: add timeindex types to ceph-dencoder This is useful for seeing on disk format of types using cls_timeindex like rgw swift with delete at attributes Signed-off-by: Abhishek Lekshmanan --- diff --git a/src/cls/CMakeLists.txt b/src/cls/CMakeLists.txt index d62273d4c4a2..127af83881b5 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 000000000000..98c3741863fb --- /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 2b381767cf62..90ac3b8e55d0 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/tools/ceph-dencoder/common_types.h b/src/tools/ceph-dencoder/common_types.h index 402943ad6429..3cf9e2d18bb3 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)