]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: Fix bug when calculating min_peer_features 68936/head
authorBill Scales <bill_scales@uk.ibm.com>
Fri, 15 May 2026 14:39:25 +0000 (15:39 +0100)
committerBill Scales <bill_scales@uk.ibm.com>
Fri, 15 May 2026 14:53:47 +0000 (15:53 +0100)
commitce5882778db9b92b14a6bb5eca22e3cecf2be9dc
treebf2f43dae7f099793d3a1436c87f7c245c6f0da3
parent76152dcc1b11987510c1007b64ae7cc61bd391e6
osd: Fix bug when calculating min_peer_features

PeeringState calculates the minimum set of features for the set
of OSDs within a PG. There is a bug when the peer info has
already been cached where these peers features are not included
in the calculation. This can lead to the min feature set
including features that not all OSDs have.

Previously this just made some asserts less aggressive than they
should have been. Pull request https://github.com/ceph/ceph/pull/57740
uses min_peer_features to decide how to encode messages to other OSDs.

Midway through an upgrade this bug can cause an OSD to send
the wrong version of a message to a downlevel OSD causing
it to abort.

Fixes: https://tracker.ceph.com/issues/76600
Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
src/osd/PeeringState.cc