]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
crimson/osd: rework handling of MOSDAlive.
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Tue, 21 Apr 2020 18:38:31 +0000 (20:38 +0200)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Mon, 13 Jul 2020 14:23:54 +0000 (16:23 +0200)
commit1f8ede3dcf3f1c2fb7673a2c94c2afc15c643558
treef5a39906b0c9b5d818e167c98c2e632f4881c1e0
parent6e9f9e7e794e4fa3011b3b736e2d7d2003530d53
crimson/osd: rework handling of MOSDAlive.

1. Migrate `MOSDAlive` crafting from `OSD` to `ShardServices`.
2. `send_alive()` takes the `want` epoch from callers
   instead of assuming it matches current OSDMap.
   Callers pass `pg_history_t::same_interval_since`.
   The passed epoch is handled similarly to `queue_want_up_thru()`
   in the classical.
   The message is sent once and when the desired epoch is greater
   than the one returned by `OSDMap::get_up_thru()`.
3. Send the message also when completing the `PeeringEvent`.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/osd/osd.cc
src/crimson/osd/osd.h
src/crimson/osd/osd_operations/peering_event.cc
src/crimson/osd/osd_operations/pg_advance_map.cc
src/crimson/osd/pg.h
src/crimson/osd/shard_services.cc
src/crimson/osd/shard_services.h