]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: track clock delta between peer OSDs
authorSage Weil <sage@redhat.com>
Mon, 17 Jun 2019 18:55:56 +0000 (13:55 -0500)
committerSage Weil <sage@redhat.com>
Mon, 5 Aug 2019 18:53:25 +0000 (13:53 -0500)
commit541e208cdf3a2a20067e0cb96ee9cc79df70cf20
treef144d23c02f0776554259f7157469d19807ddb3d
parentc5a7cb0a7db21c8336c6ae9869f15c1425c1448b
osd: track clock delta between peer OSDs

We need to keep track of the monotonic clock deltas between peer OSDs in
order to be able to exchange timestamps across messages.  We need an
upper and lower bound on this delta, depending on the context where it is
used.

We can use the existing ping messages to get this by assuming that a ping
message is sent instantly to get a bound, and to share our delta in a
follow-up reply to share the other bound.  The ping sender will get both
bounds with a single ping + ping_reply exchange.  The ping receiver will
get the delta value from the next round's ping.

Include up_from in the ping messages to ensure we don't mix up different
instances of the same OSD.

Signed-off-by: Sage Weil <sage@inktank.com>
src/messages/MOSDPing.h
src/osd/OSD.cc
src/osd/OSD.h
src/osd/PeeringState.h
src/osd/Session.h