]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commit
nvmeofgw: beacon diff implementation in the monitor and in the MonClient.
authorLeonid Chernin <leonidc@il.ibm.com>
Mon, 15 Sep 2025 11:04:04 +0000 (14:04 +0300)
committerLeonid Chernin <leonidc@il.ibm.com>
Wed, 26 Nov 2025 07:59:12 +0000 (09:59 +0200)
commite3d5f3a7fd491d191759caf7dbd3086c8b84dd29
treee3696ff7ba442a167abb98aaca1b88d2ebefe0d0
parentf255e7f77c9409149c0fba19ba3bc87cc2fb3acd
nvmeofgw: beacon diff implementation in the monitor and in the MonClient.

     -monclient encodes subsystems by beacon-diff rules if BEACON_DIFF
      bit is enabled by quorum
     -monitor processes beacons by beacon-diff new schema
     -monitor detects sequence out of order(ooo) condition and handles it
     -in case ooo detected monitor send ack to the gw with the expected correct sequence
     -monitor skips failovers for some interval when ooo detected
     -monitor ignores all becons with incorrect sequences until gw sends expected one
     -coding upgrade rules

Signed-off-by: Leonid Chernin <leonidc@il.ibm.com>
Fixes: https://tracker.ceph.com/issues/72394
17 files changed:
src/CMakeLists.txt
src/include/ceph_features.h
src/messages/MNVMeofGwBeacon.h
src/mon/NVMeofGwBeaconConstants.h [new file with mode: 0644]
src/mon/NVMeofGwMap.cc
src/mon/NVMeofGwMap.h
src/mon/NVMeofGwMon.cc
src/mon/NVMeofGwMon.h
src/mon/NVMeofGwSerialize.h
src/mon/NVMeofGwTypes.h
src/nvmeof/NVMeofGwMonitorClient.cc
src/nvmeof/NVMeofGwMonitorClient.h
src/nvmeof/NVMeofGwUtils.cc [new file with mode: 0644]
src/nvmeof/NVMeofGwUtils.h [new file with mode: 0644]
src/test/CMakeLists.txt
src/test/test_nvmeof_gw_utils.cc [new file with mode: 0644]
src/test/test_nvmeof_mon_encoding.cc