summaryrefslogtreecommitdiffstats
path: root/src/messages/MOSDPGUpdateLogMissing.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/messages/MOSDPGUpdateLogMissing.h')
-rw-r--r--src/messages/MOSDPGUpdateLogMissing.h28
1 files changed, 22 insertions, 6 deletions
diff --git a/src/messages/MOSDPGUpdateLogMissing.h b/src/messages/MOSDPGUpdateLogMissing.h
index 2a0011e8fb7..ebe678c6c31 100644
--- a/src/messages/MOSDPGUpdateLogMissing.h
+++ b/src/messages/MOSDPGUpdateLogMissing.h
@@ -31,7 +31,23 @@ public:
mempool::osd_pglog::list<pg_log_entry_t> entries;
// piggybacked osd/pg state
eversion_t pg_trim_to; // primary->replica: trim to here
- eversion_t pg_roll_forward_to; // primary->replica: trim rollback info to here
+
+ /**
+ * pg_committed_to
+ *
+ * Propagates PeeringState::pg_committed_to to replicas as with
+ * MOSDRepOp, ECSubWrite
+ *
+ * Historical Note: Prior to early 2024, this field was named
+ * pg_roll_forward_to. pg_committed_to is a safe value to rollforward to as
+ * it is a conservative bound on versions that can become divergent. Switching
+ * it to be populated by pg_committed_to rather than mlcod mirrors MOSDRepOp
+ * and upgrade cases in both directions should be safe as mlcod is <= pct
+ * and replicas (both ec and replicated) only actually rely on versions <= this
+ * field being non-divergent. This note may be removed in main after U is
+ * released.
+ */
+ eversion_t pg_committed_to;
epoch_t get_epoch() const { return map_epoch; }
spg_t get_pgid() const { return pgid; }
@@ -59,7 +75,7 @@ public:
epoch_t min_epoch,
ceph_tid_t rep_tid,
eversion_t pg_trim_to,
- eversion_t pg_roll_forward_to)
+ eversion_t pg_committed_to)
: MOSDFastDispatchOp{MSG_OSD_PG_UPDATE_LOG_MISSING, HEAD_VERSION,
COMPAT_VERSION},
map_epoch(epoch),
@@ -69,7 +85,7 @@ public:
rep_tid(rep_tid),
entries(entries),
pg_trim_to(pg_trim_to),
- pg_roll_forward_to(pg_roll_forward_to)
+ pg_committed_to(pg_committed_to)
{}
private:
@@ -83,7 +99,7 @@ public:
<< " rep_tid " << rep_tid
<< " entries " << entries
<< " trim_to " << pg_trim_to
- << " roll_forward_to " << pg_roll_forward_to
+ << " pg_committed_to " << pg_committed_to
<< ")";
}
@@ -96,7 +112,7 @@ public:
encode(entries, payload);
encode(min_epoch, payload);
encode(pg_trim_to, payload);
- encode(pg_roll_forward_to, payload);
+ encode(pg_committed_to, payload);
}
void decode_payload() override {
using ceph::decode;
@@ -113,7 +129,7 @@ public:
}
if (header.version >= 3) {
decode(pg_trim_to, p);
- decode(pg_roll_forward_to, p);
+ decode(pg_committed_to, p);
}
}
private: