]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/osd_types: Remove Snapset::snaps compat (1/2)
authorMatan Breizman <mbreizma@redhat.com>
Sun, 19 Jan 2025 10:02:00 +0000 (10:02 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Sun, 19 Jan 2025 10:11:40 +0000 (10:11 +0000)
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<snapid_t> snaps;    // descending
```

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
src/osd/osd_types.cc
src/osd/osd_types.h

index 048f5aa0009cbe5a41200f32e9a85d91a07f38a4..137baf70d768fc25d602a9c0367e4ced6405c757 100644 (file)
@@ -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<snapid_t> 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<snapid_t> snaps;
   decode(snaps, bl);
   decode(clones, bl);
   decode(clone_overlap, bl);
@@ -5911,12 +5913,8 @@ void SnapSet::generate_test_instances(list<SnapSet*>& 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<SnapSet*>& 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<snapid_t> 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
index 1e92d5cd3d6e966d0e09bf06dc63fb141cc170e4..1ff31d45c3be6c320bc6b5826f169adcbe63a4aa 100644 (file)
@@ -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<snapid_t> snaps;    // descending
   std::vector<snapid_t> clones;   // ascending
   std::map<snapid_t, interval_set<uint64_t> > clone_overlap;  // overlap w/ next newest
   std::map<snapid_t, uint64_t> 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)