Skip to content

Commit 48cb2d6

Browse files
committed
Merge PR ceph#59176 into main
* refs/pull/59176/head: mds: encode quiesce payload on demand mds: print quiesce message name in debug log Reviewed-by: Venky Shankar <[email protected]>
2 parents 64e2bd3 + 3f48bcd commit 48cb2d6

File tree

3 files changed

+20
-20
lines changed

3 files changed

+20
-20
lines changed

src/mds/MDSRankQuiesce.cc

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -283,9 +283,8 @@ void MDSRank::quiesce_cluster_update() {
283283
}
284284
auto addrs = mdsmap->get_info_gid(membership.leader).addrs;
285285

286-
auto ack_msg = make_message<MMDSQuiesceDbAck>();
286+
auto ack_msg = make_message<MMDSQuiesceDbAck>(QuiesceDbPeerAck{me, std::move(ack)});
287287
dout(10) << "sending ack " << ack << " to the leader " << membership.leader << dendl;
288-
ack_msg->encode_payload_from({me, std::move(ack)});
289288
return send_message_mds(ack_msg, addrs);
290289
}
291290
};
@@ -297,9 +296,8 @@ void MDSRank::quiesce_cluster_update() {
297296
return -ENOENT;
298297
}
299298
auto addrs = mdsmap->get_info_gid(to).addrs;
300-
auto listing_msg = make_message<MMDSQuiesceDbListing>();
299+
auto listing_msg = make_message<MMDSQuiesceDbListing>(QuiesceDbPeerListing{me, std::move(db)});
301300
dout(10) << "sending listing " << db << " to the peer " << to << dendl;
302-
listing_msg->encode_payload_from({me, std::move(db)});
303301
return send_message_mds(listing_msg, addrs);
304302
};
305303
}

src/messages/MMDSQuiesceDbAck.h

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,19 @@
2121
class MMDSQuiesceDbAck final : public MMDSOp {
2222
protected:
2323
MMDSQuiesceDbAck() : MMDSOp{MSG_MDS_QUIESCE_DB_ACK} {}
24+
MMDSQuiesceDbAck(auto&& _ack)
25+
: MMDSOp{MSG_MDS_QUIESCE_DB_ACK}
26+
, ack(std::forward<decltype(_ack)>(_ack))
27+
{}
2428
~MMDSQuiesceDbAck() final {}
2529

2630
public:
2731
std::string_view get_type_name() const override { return "mds_quiesce_db_ack"; }
2832
void print(std::ostream& o) const override {
29-
33+
o << get_type_name();
3034
}
3135

3236
void encode_payload(uint64_t features) override
33-
{
34-
// noop to prevent unnecessary overheads
35-
}
36-
37-
void encode_payload_from(QuiesceDbPeerAck const& ack)
3837
{
3938
::encode(ack, payload);
4039
}
@@ -43,15 +42,17 @@ class MMDSQuiesceDbAck final : public MMDSOp {
4342
// noop to prevent unnecessary overheads
4443
}
4544

46-
void decode_payload_into(QuiesceDbPeerAck &ack) const
45+
void decode_payload_into(QuiesceDbPeerAck &_ack) const
4746
{
4847
auto p = payload.cbegin();
49-
::decode(ack, p);
48+
::decode(_ack, p);
5049
}
5150

5251
private:
5352
template<class T, typename... Args>
5453
friend boost::intrusive_ptr<T> ceph::make_message(Args&&... args);
5554
template<class T, typename... Args>
5655
friend MURef<T> crimson::make_message(Args&&... args);
56+
57+
QuiesceDbPeerAck ack;
5758
};

src/messages/MMDSQuiesceDbListing.h

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,36 +21,37 @@
2121
class MMDSQuiesceDbListing final : public MMDSOp {
2222
protected:
2323
MMDSQuiesceDbListing() : MMDSOp{MSG_MDS_QUIESCE_DB_LISTING} {}
24+
MMDSQuiesceDbListing(auto&& _pl)
25+
: MMDSOp{MSG_MDS_QUIESCE_DB_LISTING}
26+
, peer_listing(std::forward<decltype(_pl)>(_pl))
27+
{}
2428
~MMDSQuiesceDbListing() final {}
2529

2630
public:
2731
std::string_view get_type_name() const override { return "mds_quiesce_db_listing"; }
2832
void print(std::ostream& o) const override {
29-
33+
o << get_type_name();
3034
}
3135

3236
void encode_payload(uint64_t features) override {
33-
// noop to prevent unnecessary overheads
34-
}
35-
36-
void encode_payload_from(QuiesceDbPeerListing const& peer_listing)
37-
{
3837
::encode(peer_listing, payload);
3938
}
4039

4140
void decode_payload() override {
4241
// noop to prevent unnecessary overheads
4342
}
4443

45-
void decode_payload_into(QuiesceDbPeerListing &peer_listing) const
44+
void decode_payload_into(QuiesceDbPeerListing &pl) const
4645
{
4746
auto p = payload.cbegin();
48-
::decode(peer_listing, p);
47+
::decode(pl, p);
4948
}
5049

5150
private:
5251
template<class T, typename... Args>
5352
friend boost::intrusive_ptr<T> ceph::make_message(Args&&... args);
5453
template<class T, typename... Args>
5554
friend MURef<T> crimson::make_message(Args&&... args);
55+
56+
QuiesceDbPeerListing peer_listing;
5657
};

0 commit comments

Comments
 (0)