From: Sun Yuechi Date: Wed, 8 Jul 2026 07:00:53 +0000 (+0800) Subject: rbd-mirror: fix strict weak ordering in PeerSpec::operator< X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ad6de06803654c73c0cf5e42f4859fc119d107db;p=ceph.git rbd-mirror: fix strict weak ordering in PeerSpec::operator< The mon_host tier branched on "mon_host < rhs.mon_host" but returned the same comparison, so mon_host > rhs.mon_host fell through to key, both a < b and b < a could hold. Only Mirror::m_pool_replayers reaches operator< (via std::pair key). Fixes: https://tracker.ceph.com/issues/78049 Signed-off-by: Sun Yuechi --- diff --git a/src/tools/rbd_mirror/Types.h b/src/tools/rbd_mirror/Types.h index ef13f20fa9c..da83b62b374 100644 --- a/src/tools/rbd_mirror/Types.h +++ b/src/tools/rbd_mirror/Types.h @@ -156,7 +156,7 @@ struct PeerSpec { return cluster_name < rhs.cluster_name; } else if (client_name != rhs.client_name) { return client_name < rhs.client_name; - } else if (mon_host < rhs.mon_host) { + } else if (mon_host != rhs.mon_host) { return mon_host < rhs.mon_host; } else { return key < rhs.key;