]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
osd: clean up osdmap sharing 27932/head
authorSage Weil <sage@redhat.com>
Thu, 2 May 2019 19:34:53 +0000 (14:34 -0500)
committerSage Weil <sage@redhat.com>
Thu, 2 May 2019 19:44:49 +0000 (14:44 -0500)
commit573913c2e83801e305467cdb58f37d0d8a586f97
tree5eb13099ecffbb4145305d52905fd8a6b27f18a9
parent7472219695b53028e208e705bede76b74779d21d
osd: clean up osdmap sharing

- always use the Session::last_sent_epoch value, both for clients and osds
- get rid of the stl map<> of peer epochs
- consolidate all map sharing into a single maybe_share_map()
- optionally take a lower bound on the peer's epoch, for use when it is
  available (e.g., when we are handling a message that specifies what
  epoch the peer had when it sent the message)
- use const OSDMapRef& where possible
- drop osd->is_active() check, since we no longer have any dependency on
  OSD[Service] state beyond our osdmap

The old callchain was convoluted, partly because it was needlessly
separated into several layers of helpers, and partly because the tracking
for clients and peer OSDs was totally different.

Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/OSD.cc
src/osd/OSD.h
src/osd/PG.cc