From: Bill Scales Date: Wed, 26 Mar 2025 08:55:44 +0000 (+0000) Subject: osd: EC Optimizations: Update pwlc for split/merge X-Git-Tag: v20.3.0~29^2~17 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=88b0621a8efbcb894bf9c1c6567c49c55b98be5b;p=ceph.git 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 --- diff --git a/src/osd/PeeringState.cc b/src/osd/PeeringState.cc index ad6e92831416..5889d6d3ba5e 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;