]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
fix upgrade 66624/head
authorLeonid Chernin <leonidc@il.ibm.com>
Sun, 1 Mar 2026 15:43:01 +0000 (17:43 +0200)
committerLeonid Chernin <leonidc@il.ibm.com>
Tue, 3 Mar 2026 06:24:52 +0000 (08:24 +0200)
 remove invalid code from NVMeofGwSerialize.h
 put encode/decode at the file NVmeofGwMap.h

Signed-off-by: Leonid Chernin <leonidc@il.ibm.com>
src/mon/NVMeofGwMap.cc
src/mon/NVMeofGwMap.h
src/mon/NVMeofGwSerialize.h

index a06fd5c98cf3396b0fe503f5a1d25d1d243f5e0f..718f928130ed2df2afc79a70d665d76057dd6efa 100755 (executable)
@@ -31,45 +31,6 @@ using std::string;
 #undef dout_prefix
 #define dout_prefix *_dout << "nvmeofgw " << __PRETTY_FUNCTION__ << " "
 
-void  NVMeofGwMap::encode(ceph::buffer::list &bl, uint64_t features) const {
-    using ceph::encode;
-    uint8_t version = 1;
-    if (HAVE_FEATURE(features, NVMEOFHAMAP)) {
-      version = 2;
-    }
-    if (HAVE_FEATURE(features, NVMEOF_BEACON_DIFF)) {
-      version = 3;
-    }
-    ENCODE_START(version, version, bl);
-    encode(epoch, bl);// global map epoch
-
-    encode(created_gws, bl, features); //Encode created GWs
-    encode(fsm_timers, bl, features);
-    if (version >= 2) {
-      encode(gw_epoch, bl);
-    }
-    if (version >=3) {
-      encode(disaster_locations, bl);
-    }
-    ENCODE_FINISH(bl);
-  }
-
-  void  NVMeofGwMap::decode(ceph::buffer::list::const_iterator &bl) {
-    using ceph::decode;
-    DECODE_START(3, bl);
-
-    decode(epoch, bl);
-    decode(created_gws, bl);
-    decode(fsm_timers, bl);
-    if (struct_v >= 2) {
-      decode(gw_epoch, bl);
-    }
-    if (struct_v >=3) {
-      decode(disaster_locations, bl);
-    }
-    DECODE_FINISH(bl);
-  }
-
 void NVMeofGwMap::to_gmap(
   std::map<NvmeGroupKey, NvmeGwMonClientStates>& Gmap) const
 {
index 4f3edf5e41b8d460aa372d7098be803ea627fb67..4fbb26a3c60cdba5e8c9c866fc0b457bda0d7cdd 100755 (executable)
 #include "NVMeofGwTypes.h"
 
 using ceph::coarse_mono_clock;
-
+#define dout_context g_ceph_context
+#define dout_subsys ceph_subsys_mon
+#undef dout_prefix
+#define MODULE_PREFFIX "nvmeofgw "
+#define dout_prefix *_dout << MODULE_PREFFIX << __PRETTY_FUNCTION__ << " "
 class health_check_map_t;
 
 class Monitor;
@@ -187,9 +191,50 @@ public:
     const NvmeGwId &gw_id, const NvmeGroupKey& group_key,
     NvmeAnaGrpId ANA_groupid, epoch_t &epoch, bool failover);
 
-  void encode(ceph::buffer::list &bl, uint64_t features) const ;
+  void encode(ceph::buffer::list &bl, uint64_t features) const  {
+    using ceph::encode;
+    uint8_t version = 1;
+    if (HAVE_FEATURE(features, NVMEOFHAMAP)) {
+      version = 2;
+    }
+    if (HAVE_FEATURE(features, NVMEOF_BEACON_DIFF)) {
+      version = 3;
+    }
+    ENCODE_START(version, version, bl);
+    encode(epoch, bl);// global map epoch
+
+    encode(created_gws, bl, features); //Encode created GWs
+    encode(fsm_timers, bl, features);
+    if (version >= 2) {
+      encode(gw_epoch, bl);
+    }
+    if (version >=3) {
+      encode(disaster_locations, bl);
+    }
+    ENCODE_FINISH(bl);
+  }
+
+  void  decode(ceph::buffer::list::const_iterator &bl) {
+    using ceph::decode;
+    DECODE_START(3, bl);
+
+    decode(epoch, bl);
+    dout(20)  << "decode epoch "  << dendl;
+    decode(created_gws, bl);
+    dout(20)  << "decode created gws "  << dendl;
+    decode(fsm_timers, bl);
+    dout(20)  << "decode fsm timers "  << dendl;
+    if (struct_v >= 2) {
+      decode(gw_epoch, bl);
+      dout(20)  << "decode gw epoch "  << dendl;
+    }
+    if (struct_v >=3) {
+      decode(disaster_locations, bl);
+      dout(20)  << "decode  disaster location "  << dendl;
+    }
+    DECODE_FINISH(bl);
+  }
 
-  void decode(ceph::buffer::list::const_iterator &bl);
   void get_health_checks(health_check_map_t *checks);
 };
 
index 5926fd8521d0f9b27c8486a6df7c3d9f2e2cd197..89b9bc5880e900f694a61cd83e0d4e3b9149b165 100755 (executable)
@@ -910,14 +910,6 @@ inline void encode(const BeaconSubsystem& sub,  ceph::bufferlist &bl, uint64_t f
   if (HAVE_FEATURE(features, NVMEOF_BEACON_DIFF)) {
     version = 2;
   }
-  // For legacy encoding, skip deleted subsystems to maintain compatibility
-  if (version == 1 &&
-      sub.change_descriptor != subsystem_change_t::SUBSYSTEM_ADDED) {
-    dout(4) << "encode BeaconSubsystem: skipping subsystem " << sub.nqn
-            << " with change_descriptor " << (int)sub.change_descriptor
-            << " in legacy mode" << dendl;
-    return; // Skip encoding this subsystem entirely
-  }
 
   ENCODE_START(version, version, bl);
   encode(sub.nqn, bl);
@@ -943,6 +935,7 @@ inline void decode(BeaconSubsystem& sub, ceph::buffer::list::const_iterator &bl)
   uint32_t s;
   sub.listeners.clear();
   decode(s, bl);
+  dout(20) << "decode Nlisteners " << s << dendl;
   for (uint32_t i = 0; i < s; i++) {
     BeaconListener ls;
     decode(ls, bl);