From c2aba692e7b4135e65163f92e10258d115f90688 Mon Sep 17 00:00:00 2001 From: Matan Breizman Date: Thu, 15 Jun 2023 14:40:34 +0000 Subject: [PATCH] osd/Session: rename last_sent_epoch to projected_epoch We always update last_sent_epoch to reflect the highest map we think the peer will have, whether because we are sending the incremental or due to the map_epoch on the MOSDPing. last_epoch_sent was a confusing name since we also update it when an MOSDPing from the peer reflects a higher epoch. Signed-off-by: Matan Breizman --- src/osd/OSD.cc | 20 ++++++++++---------- src/osd/Session.h | 4 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 42ed712675613..6db41bd609c0d 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -7293,27 +7293,27 @@ void OSDService::maybe_share_map( // assume the peer has the newer of the op's sent_epoch and what // we think we sent them. - session->sent_epoch_lock.lock(); - if (peer_epoch_lb > session->last_sent_epoch) { + session->projected_epoch_lock.lock(); + if (peer_epoch_lb > session->projected_epoch) { dout(10) << __func__ << " con " << con << " " << con->get_peer_addr() - << " map epoch " << session->last_sent_epoch + << " map epoch " << session->projected_epoch << " -> " << peer_epoch_lb << " (as per caller)" << dendl; - session->last_sent_epoch = peer_epoch_lb; + session->projected_epoch = peer_epoch_lb; } - if (osdmap->get_epoch() <= session->last_sent_epoch) { - session->sent_epoch_lock.unlock(); + if (osdmap->get_epoch() <= session->projected_epoch) { + session->projected_epoch_lock.unlock(); return; } - const epoch_t send_from = session->last_sent_epoch; + const epoch_t send_from = session->projected_epoch; dout(10) << __func__ << " con " << con << " " << con->get_peer_addr() - << " map epoch " << session->last_sent_epoch + << " map epoch " << session->projected_epoch << " -> " << osdmap->get_epoch() << " (shared)" << dendl; - session->last_sent_epoch = osdmap->get_epoch(); - session->sent_epoch_lock.unlock(); + session->projected_epoch = osdmap->get_epoch(); + session->projected_epoch_lock.unlock(); send_incremental_map(send_from, con, osdmap); } diff --git a/src/osd/Session.h b/src/osd/Session.h index a42d37bfecc09..3c3eae211cf51 100644 --- a/src/osd/Session.h +++ b/src/osd/Session.h @@ -137,8 +137,8 @@ struct Session : public RefCountedObject { ceph::make_mutex("Session::session_dispatch_lock"); boost::intrusive::list waiting_on_map; - ceph::spinlock sent_epoch_lock; - epoch_t last_sent_epoch = 0; + ceph::spinlock projected_epoch_lock; + epoch_t projected_epoch = 0; /// protects backoffs; orders inside Backoff::lock *and* PG::backoff_lock ceph::mutex backoff_lock = ceph::make_mutex("Session::backoff_lock"); -- 2.39.5