]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
osd: EC Optimizations: proc_master_log changes for partial logs
authorBill Scales <bill_scales@uk.ibm.com>
Wed, 26 Mar 2025 13:43:43 +0000 (13:43 +0000)
committerAlex Ainscow <aainscow@uk.ibm.com>
Tue, 22 Apr 2025 07:17:03 +0000 (08:17 +0100)
commitb97089bbd86a6a5ed5c302634c6392070ce865f0
tree5f01470516a1619e37bfea78f648ac9527fd17ed
parentdcebe60afc9dded06f77fddeb0413e0b20e246dd
osd: EC Optimizations: proc_master_log changes for partial logs

proc_master_log is part of the peering process that merges
the authorative log (in the case of EC pools the log of the
shard missing the most updates) into the primary log.

When there are partial writes it is likely that the
authorative log is behind because of partial writes that
did not update that shard. proc_master_log works out where
the logs diverge and then studies each additional log entry
to see if all the updates made in that log entry have been
applied. If any shard is missing an update then that log
entry (and all subsequent entries) need to be rolled back,
otherwise the entry can be rolled forward and included in
the authorative log.

Signed-off-by: Bill Scales <bill_scales@uk.ibm.com>
src/osd/PeeringState.cc
src/osd/PeeringState.h