From: Matan Breizman Date: Sun, 19 Jan 2025 10:02:00 +0000 (+0000) Subject: osd/osd_types: Remove Snapset::snaps compat (1/2) X-Git-Tag: v20.3.0~177^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=688bffe8ff35a95d113ad904c2c36029f0e2dfb8;p=ceph.git osd/osd_types: Remove Snapset::snaps compat (1/2) In continuation to #28330 From Q release, we should no longer support pre O compatibilty. Update SnapSet::encode/decode to use an empty instance instead to not break backward compatibility. See : ``` struct SnapSet { ... // NOTE: this is for pre-octopus compatibility only! remove in Q release std::vector snaps; // descending ``` Signed-off-by: Matan Breizman --- diff --git a/src/osd/osd_types.cc b/src/osd/osd_types.cc index 048f5aa0009..137baf70d76 100644 --- a/src/osd/osd_types.cc +++ b/src/osd/osd_types.cc @@ -5851,6 +5851,7 @@ void SnapSet::encode(ceph::buffer::list& bl) const ENCODE_START(3, 2, bl); encode(seq, bl); encode(true, bl); // head_exists + std::vector snaps; encode(snaps, bl); encode(clones, bl); encode(clone_overlap, bl); @@ -5864,6 +5865,7 @@ void SnapSet::decode(ceph::buffer::list::const_iterator& bl) DECODE_START_LEGACY_COMPAT_LEN(3, 2, 2, bl); decode(seq, bl); bl += 1u; // skip legacy head_exists (always true) + std::vector snaps; decode(snaps, bl); decode(clones, bl); decode(clone_overlap, bl); @@ -5911,12 +5913,8 @@ void SnapSet::generate_test_instances(list& o) o.push_back(new SnapSet); o.push_back(new SnapSet); o.back()->seq = 123; - o.back()->snaps.push_back(123); - o.back()->snaps.push_back(12); o.push_back(new SnapSet); o.back()->seq = 123; - o.back()->snaps.push_back(123); - o.back()->snaps.push_back(12); o.back()->clones.push_back(12); o.back()->clone_size[12] = 12345; o.back()->clone_overlap[12]; @@ -5925,8 +5923,7 @@ void SnapSet::generate_test_instances(list& o) ostream& operator<<(ostream& out, const SnapSet& cs) { - return out << cs.seq << "=" << cs.snaps << ":" - << cs.clone_snaps; + return out << cs.seq << "=" << cs.clone_snaps; } void SnapSet::from_snap_set(const librados::snap_set_t& ss, bool legacy) @@ -5964,13 +5961,6 @@ void SnapSet::from_snap_set(const librados::snap_set_t& ss, bool legacy) clones.reserve(_clones.size()); for (auto p = _clones.begin(); p != _clones.end(); ++p) clones.push_back(*p); - - // descending - snaps.clear(); - snaps.reserve(_snaps.size()); - for (auto p = _snaps.rbegin(); - p != _snaps.rend(); ++p) - snaps.push_back(*p); } uint64_t SnapSet::get_clone_bytes(snapid_t clone) const @@ -5983,23 +5973,6 @@ uint64_t SnapSet::get_clone_bytes(snapid_t clone) const return size - overlap.size(); } -void SnapSet::filter(const pg_pool_t &pinfo) -{ - vector oldsnaps; - oldsnaps.swap(snaps); - for (auto i = oldsnaps.cbegin(); i != oldsnaps.cend(); ++i) { - if (!pinfo.is_removed_snap(*i)) - snaps.push_back(*i); - } -} - -SnapSet SnapSet::get_filtered(const pg_pool_t &pinfo) const -{ - SnapSet ss = *this; - ss.filter(pinfo); - return ss; -} - // -- watch_info_t -- void watch_info_t::encode(ceph::buffer::list& bl, uint64_t features) const diff --git a/src/osd/osd_types.h b/src/osd/osd_types.h index 1e92d5cd3d6..1ff31d45c3b 100644 --- a/src/osd/osd_types.h +++ b/src/osd/osd_types.h @@ -5635,8 +5635,6 @@ inline std::ostream& operator<<(std::ostream& out, const OSDSuperblock& sb) */ struct SnapSet { snapid_t seq; - // NOTE: this is for pre-octopus compatibility only! remove in Q release - std::vector snaps; // descending std::vector clones; // ascending std::map > clone_overlap; // overlap w/ next newest std::map clone_size; @@ -5674,9 +5672,6 @@ struct SnapSet { return out; } - - SnapSet get_filtered(const pg_pool_t &pinfo) const; - void filter(const pg_pool_t &pinfo); }; WRITE_CLASS_ENCODER(SnapSet)