From dc2c1e90ff008332daaabcdea1886253016ec16b Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 26 Feb 2010 15:41:04 -0800 Subject: [PATCH] mds: fix mds_export_targets message parent Needs to be a PaxosServiceMessage. The monitor was assuming as much, casting, and getting a gibberish prior paxos version. --- src/messages/MMDSLoadTargets.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/messages/MMDSLoadTargets.h b/src/messages/MMDSLoadTargets.h index fffa52218647e..8b77d361ea773 100644 --- a/src/messages/MMDSLoadTargets.h +++ b/src/messages/MMDSLoadTargets.h @@ -16,20 +16,21 @@ #define __MMDSLoadTargets_H #include "msg/Message.h" +#include "messages/PaxosServiceMessage.h" #include "include/types.h" #include using std::map; -class MMDSLoadTargets : public Message { +class MMDSLoadTargets : public PaxosServiceMessage { public: __u64 global_id; set targets; - MMDSLoadTargets() : Message(MSG_MDS_OFFLOAD_TARGETS) {} + MMDSLoadTargets() : PaxosServiceMessage(MSG_MDS_OFFLOAD_TARGETS, 0) {} MMDSLoadTargets(__u64 g, set& mds_targets) : - Message(MSG_MDS_OFFLOAD_TARGETS), + PaxosServiceMessage(MSG_MDS_OFFLOAD_TARGETS, 0), global_id(g), targets(mds_targets) {} const char* get_type_name() { return "mds_load_targets"; } @@ -39,11 +40,13 @@ class MMDSLoadTargets : public Message { void decode_payload() { bufferlist::iterator p = payload.begin(); + paxos_decode(p); ::decode(global_id, p); ::decode(targets, p); } void encode_payload() { + paxos_encode(); ::encode(global_id, payload); ::encode(targets, payload); } -- 2.39.5