]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: FastEC: always update pwlc epoch when activating 68710/head
authorBill Scales <bill_scales@uk.ibm.com>
Thu, 18 Dec 2025 12:45:02 +0000 (12:45 +0000)
committerBill Scales <bill_scales@uk.ibm.com>
Fri, 1 May 2026 08:11:26 +0000 (09:11 +0100)
commit462ffc74a8a8e405af78459e182f69c55bbefbd4
tree250691d02b4dc6cfb77c18c3c9434765aae74f15
parent6502188013c056d9eefbbd27e1adaabfffa1319f
osd: FastEC: always update pwlc epoch when activating

Currently the code updates the pwlc epoch at the end
of proc_master_log which runs during peering whenever
the primary selects a different shard as the source of
the definitive log, however this code does not run if
the primary selects itself as having the definitive
log.

Move this to the start of activate so the pwlc epoch
is always updated. This ensures that the version of
pwlc used by the primary during peering becomes the
definitive copy as the primary distributes this to
the other shards that are being activated.

This fixes 74218 where another shard being activated
rolled forward and completed a log update generating
pwlc with the current epoch and then went on to merge
other log entries provided by the primary and discarded
the primary's pwlc because it had an older epoch.
Updating the epoch on the primary's pwlc makes sure the
shard keeps this copy of pwlc.

Fixes: https://tracker.ceph.com/issues/74218
Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
(cherry picked from commit bbe6f4fc9756eb3016bb89d87b45a6ff38462c46)
src/osd/PeeringState.cc