Skip to content

Commit 4ecc58d

Browse files
committed
crimson/osd: cleanup ShardDispatcher
ShardDispatcher logically equals to seastar::sharded<PGShardManager>, drop unnecessary members. Signed-off-by: Yingxin Cheng <[email protected]>
1 parent 436706c commit 4ecc58d

File tree

2 files changed

+20
-27
lines changed

2 files changed

+20
-27
lines changed

src/crimson/osd/osd.cc

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -379,8 +379,6 @@ seastar::future<> OSD::start()
379379
}).then([this] {
380380
return shard_dispatchers.start(
381381
std::ref(*this),
382-
whoami,
383-
std::ref(store),
384382
std::ref(pg_to_shard_mappings));
385383
});
386384
}).then([this] {
@@ -1040,7 +1038,7 @@ seastar::future<> OSD::ShardDispatcher::_handle_osd_map(Ref<MOSDMap> m)
10401038
pg_shard_manager.get_meta_coll().store_superblock(t, osd.superblock);
10411039
pg_shard_manager.set_superblock(osd.superblock);
10421040
logger().debug("OSD::handle_osd_map: do_transaction...");
1043-
return store.get_sharded_store().do_transaction(
1041+
return osd.store.get_sharded_store().do_transaction(
10441042
pg_shard_manager.get_meta_coll().collection(),
10451043
std::move(t));
10461044
});
@@ -1056,7 +1054,7 @@ seastar::future<> OSD::ShardDispatcher::committed_osd_maps(
10561054
Ref<MOSDMap> m)
10571055
{
10581056
ceph_assert(seastar::this_shard_id() == PRIMARY_CORE);
1059-
logger().info("osd.{}: committed_osd_maps({}, {})", whoami, first, last);
1057+
logger().info("osd.{}: committed_osd_maps({}, {})", osd.whoami, first, last);
10601058
// advance through the new maps
10611059
return seastar::do_for_each(boost::make_counting_iterator(first),
10621060
boost::make_counting_iterator(last + 1),
@@ -1068,8 +1066,8 @@ seastar::future<> OSD::ShardDispatcher::committed_osd_maps(
10681066
return pg_shard_manager.update_map(std::move(o));
10691067
}).then([this] {
10701068
if (get_shard_services().get_up_epoch() == 0 &&
1071-
osd.osdmap->is_up(whoami) &&
1072-
osd.osdmap->get_addrs(whoami) == osd.public_msgr->get_myaddrs()) {
1069+
osd.osdmap->is_up(osd.whoami) &&
1070+
osd.osdmap->get_addrs(osd.whoami) == osd.public_msgr->get_myaddrs()) {
10731071
return pg_shard_manager.set_up_epoch(
10741072
osd.osdmap->get_epoch()
10751073
).then([this] {
@@ -1083,15 +1081,15 @@ seastar::future<> OSD::ShardDispatcher::committed_osd_maps(
10831081
});
10841082
}).then([m, this] {
10851083
auto fut = seastar::now();
1086-
if (osd.osdmap->is_up(whoami)) {
1087-
const auto up_from = osd.osdmap->get_up_from(whoami);
1084+
if (osd.osdmap->is_up(osd.whoami)) {
1085+
const auto up_from = osd.osdmap->get_up_from(osd.whoami);
10881086
logger().info("osd.{}: map e {} marked me up: up_from {}, bind_epoch {}, state {}",
1089-
whoami, osd.osdmap->get_epoch(), up_from, osd.bind_epoch,
1087+
osd.whoami, osd.osdmap->get_epoch(), up_from, osd.bind_epoch,
10901088
pg_shard_manager.get_osd_state_string());
10911089
if (osd.bind_epoch < up_from &&
1092-
osd.osdmap->get_addrs(whoami) == osd.public_msgr->get_myaddrs() &&
1090+
osd.osdmap->get_addrs(osd.whoami) == osd.public_msgr->get_myaddrs() &&
10931091
pg_shard_manager.is_booting()) {
1094-
logger().info("osd.{}: activating...", whoami);
1092+
logger().info("osd.{}: activating...", osd.whoami);
10951093
fut = pg_shard_manager.set_active().then([this] {
10961094
osd.beacon_timer.arm_periodic(
10971095
std::chrono::seconds(local_conf()->osd_beacon_report_interval));
@@ -1110,15 +1108,15 @@ seastar::future<> OSD::ShardDispatcher::committed_osd_maps(
11101108
return check_osdmap_features().then([this] {
11111109
// yay!
11121110
logger().info("osd.{}: committed_osd_maps: broadcasting osdmaps up"
1113-
" to {} epoch to pgs", whoami, osd.osdmap->get_epoch());
1111+
" to {} epoch to pgs", osd.whoami, osd.osdmap->get_epoch());
11141112
return pg_shard_manager.broadcast_map_to_pgs(osd.osdmap->get_epoch());
11151113
});
11161114
});
11171115
}).then([m, this] {
11181116
if (pg_shard_manager.is_active()) {
1119-
logger().info("osd.{}: now active", whoami);
1120-
if (!osd.osdmap->exists(whoami) ||
1121-
osd.osdmap->is_stop(whoami)) {
1117+
logger().info("osd.{}: now active", osd.whoami);
1118+
if (!osd.osdmap->exists(osd.whoami) ||
1119+
osd.osdmap->is_stop(osd.whoami)) {
11221120
return osd.shutdown();
11231121
}
11241122
if (osd.should_restart()) {
@@ -1127,17 +1125,17 @@ seastar::future<> OSD::ShardDispatcher::committed_osd_maps(
11271125
return seastar::now();
11281126
}
11291127
} else if (pg_shard_manager.is_preboot()) {
1130-
logger().info("osd.{}: now preboot", whoami);
1128+
logger().info("osd.{}: now preboot", osd.whoami);
11311129

11321130
if (m->get_source().is_mon()) {
11331131
return osd._preboot(
11341132
m->cluster_osdmap_trim_lower_bound, m->newest_map);
11351133
} else {
1136-
logger().info("osd.{}: start_boot", whoami);
1134+
logger().info("osd.{}: start_boot", osd.whoami);
11371135
return osd.start_boot();
11381136
}
11391137
} else {
1140-
logger().info("osd.{}: now {}", whoami,
1138+
logger().info("osd.{}: now {}", osd.whoami,
11411139
pg_shard_manager.get_osd_state_string());
11421140
// XXX
11431141
return seastar::now();
@@ -1379,8 +1377,9 @@ seastar::future<> OSD::ShardDispatcher::handle_peering_op(
13791377

13801378
seastar::future<> OSD::ShardDispatcher::check_osdmap_features()
13811379
{
1382-
return store.write_meta("require_osd_release",
1383-
stringify((int)osd.osdmap->require_osd_release));
1380+
return osd.store.write_meta(
1381+
"require_osd_release",
1382+
stringify((int)osd.osdmap->require_osd_release));
13841383
}
13851384

13861385
seastar::future<> OSD::prepare_to_stop()

src/crimson/osd/osd.h

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,10 @@ class OSD final : public crimson::net::Dispatcher,
6969
public:
7070
ShardDispatcher(
7171
OSD& osd,
72-
int whoami,
73-
crimson::os::FuturizedStore& store,
7472
PGShardMapping& pg_to_shard_mapping)
7573
: pg_shard_manager(osd.osd_singleton_state,
7674
osd.shard_services, pg_to_shard_mapping),
77-
osd(osd),
78-
whoami(whoami),
79-
store(store) {}
75+
osd(osd) {}
8076
~ShardDispatcher() = default;
8177

8278
// Dispatcher methods
@@ -134,8 +130,6 @@ class OSD final : public crimson::net::Dispatcher,
134130
private:
135131
crimson::osd::PGShardManager pg_shard_manager;
136132
OSD& osd;
137-
const int whoami;
138-
crimson::os::FuturizedStore& store;
139133
};
140134

141135
const int whoami;

0 commit comments

Comments
 (0)