]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: Fix bug when calculating min_peer_features 69159/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, 29 May 2026 08:27:11 +0000 (09:27 +0100)
commitc6f2907be11629f69d757f546c452e9539c3e147
treeaf1820aa39e206dd516794bafd5d4249a9aafc2a
parent965ff53f375521760d11f744cd7fe39d6e270271
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>
(cherry picked from commit ce5882778db9b92b14a6bb5eca22e3cecf2be9dc)
src/osd/PeeringState.cc