From 88b0621a8efbcb894bf9c1c6567c49c55b98be5b Mon Sep 17 00:00:00 2001 From: Bill Scales Date: Wed, 26 Mar 2025 08:55:44 +0000 Subject: [PATCH] osd: EC Optimizations: Update pwlc for split/merge Update pwlc data in pg_info_t when splitting and merging PGs. Signed-off-by: Bill Scales --- src/osd/PeeringState.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/osd/PeeringState.cc b/src/osd/PeeringState.cc index ad6e9283141..5889d6d3ba5 100644 --- a/src/osd/PeeringState.cc +++ b/src/osd/PeeringState.cc @@ -3387,6 +3387,8 @@ void PeeringState::split_into( child->info.last_user_version = info.last_user_version; + child->info.partial_writes_last_complete = info.partial_writes_last_complete; + info.log_tail = pg_log.get_tail(); child->info.log_tail = child->pg_log.get_tail(); @@ -3545,6 +3547,15 @@ void PeeringState::merge_from( psdout(10) << "taking source's past_intervals" << dendl; past_intervals = source->past_intervals; } + + // merge pwlc + if (!info.partial_writes_last_complete.empty()) { + psdout(10) << "before pwlc=" << info.partial_writes_last_complete << dendl; + } + update_peer_info(pg_whoami, source->info); + if (!info.partial_writes_last_complete.empty()) { + psdout(10) << "after pwlc=" << info.partial_writes_last_complete << dendl; + } } info.last_complete = info.last_update; -- 2.39.5