From facbdd08bf7ef1bca074034d5bd3241211599eae Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 26 May 2020 09:48:28 -0500 Subject: [PATCH] cls/cas/cls_cas_internal: add chunk_refs_t operator=, copy ctor For ceph-dencoder's benefit Signed-off-by: Sage Weil --- src/cls/cas/cls_cas_internal.cc | 15 +++++++++++++++ src/cls/cas/cls_cas_internal.h | 3 +++ 2 files changed, 18 insertions(+) diff --git a/src/cls/cas/cls_cas_internal.cc b/src/cls/cas/cls_cas_internal.cc index 65ab38023d336..c5179488a5228 100644 --- a/src/cls/cas/cls_cas_internal.cc +++ b/src/cls/cas/cls_cas_internal.cc @@ -298,6 +298,21 @@ WRITE_CLASS_ENCODER(refs_count) // +chunk_refs_t::chunk_refs_t(const chunk_refs_t& other) +{ + *this = other; +} + +chunk_refs_t& chunk_refs_t::operator=(const chunk_refs_t& other) +{ + // this is inefficient, but easy. + bufferlist bl; + other.encode(bl); + auto p = bl.cbegin(); + decode(p); + return *this; +} + void chunk_refs_t::clear() { // default to most precise impl diff --git a/src/cls/cas/cls_cas_internal.h b/src/cls/cas/cls_cas_internal.h index 2831ae0cc7140..26de45196908c 100644 --- a/src/cls/cas/cls_cas_internal.h +++ b/src/cls/cas/cls_cas_internal.h @@ -49,6 +49,9 @@ struct chunk_refs_t { chunk_refs_t() { clear(); } + chunk_refs_t(const chunk_refs_t& other); + + chunk_refs_t& operator=(const chunk_refs_t&); void clear(); -- 2.39.5