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>