]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: FastEC: always update pwlc epoch when activating 66685/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>
Thu, 18 Dec 2025 12:59:49 +0000 (12:59 +0000)
commitbbe6f4fc9756eb3016bb89d87b45a6ff38462c46
tree703b2835fa0b792c219357e22fb7a68f443ea892
parent2e87714b94a9e16c764ef6f97de50aecf1b0c41e
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>
src/osd/PeeringState.cc