From: Max Kellermann Date: Fri, 25 Oct 2024 06:23:32 +0000 (+0200) Subject: common/snap_types: un-inline methods to reduce header dependencies X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6eb341b22dbfd3251befe06ac9aee647fa5f1c93;p=ceph.git common/snap_types: un-inline methods to reduce header dependencies Signed-off-by: Max Kellermann --- diff --git a/src/common/snap_types.cc b/src/common/snap_types.cc index dc634907b8a..93c85f4c5c8 100644 --- a/src/common/snap_types.cc +++ b/src/common/snap_types.cc @@ -3,6 +3,7 @@ #include "snap_types.h" #include "common/Formatter.h" +#include "include/types.h" // for the ceph_mds_snap_realm encoder void SnapRealmInfo::encode(ceph::buffer::list& bl) const { @@ -116,6 +117,18 @@ bool SnapContext::is_valid() const return true; } +void SnapContext::encode(ceph::buffer::list& bl) const { + using ceph::encode; + encode(seq, bl); + encode(snaps, bl); +} + +void SnapContext::decode(ceph::buffer::list::const_iterator& bl) { + using ceph::decode; + decode(seq, bl); + decode(snaps, bl); +} + void SnapContext::dump(ceph::Formatter *f) const { f->dump_unsigned("seq", seq); @@ -135,3 +148,7 @@ void SnapContext::generate_test_instances(std::list& o) v.push_back(1); o.push_back(new SnapContext(20, v)); } + +std::ostream& operator<<(std::ostream& out, const SnapContext& snapc) { + return out << snapc.seq << "=" << snapc.snaps; +} diff --git a/src/common/snap_types.h b/src/common/snap_types.h index 45502f9fa12..8e432ec94b0 100644 --- a/src/common/snap_types.h +++ b/src/common/snap_types.h @@ -2,7 +2,6 @@ #define __CEPH_SNAP_TYPES_H #include "include/object.h" // for struct snapid_t -#include "include/types.h" // for the ceph_mds_snap_realm encoder #include "include/utime.h" #include "include/fs_types.h" // for struct inodeno_t @@ -91,24 +90,14 @@ struct SnapContext { } bool empty() const { return seq == 0; } - void encode(ceph::buffer::list& bl) const { - using ceph::encode; - encode(seq, bl); - encode(snaps, bl); - } - void decode(ceph::buffer::list::const_iterator& bl) { - using ceph::decode; - decode(seq, bl); - decode(snaps, bl); - } + void encode(ceph::buffer::list& bl) const; + void decode(ceph::buffer::list::const_iterator& bl); void dump(ceph::Formatter *f) const; static void generate_test_instances(std::list& o); }; WRITE_CLASS_ENCODER(SnapContext) -inline std::ostream& operator<<(std::ostream& out, const SnapContext& snapc) { - return out << snapc.seq << "=" << snapc.snaps; -} +std::ostream& operator<<(std::ostream& out, const SnapContext& snapc); #if FMT_VERSION >= 90000 template <> struct fmt::formatter : fmt::ostream_formatter {};