]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.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)
committerTomer Haskalovitch <tomer.haska@ibm.com>
Tue, 27 Jan 2026 09:27:35 +0000 (11:27 +0200)
commit3b5d28bfa51e3bf024ee0d66acd5cf6eec78eb52
tree57a4e98a07b275838ba0271a8c570b085778f2d7
parent7d5617b8793442684b1a9368278010f2f74c0392
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
(cherry picked from commit 3555a28e45c5b44289f12abe2fc843e21c7ebf87)
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