From: Sage Weil Date: Fri, 26 Feb 2010 23:41:04 +0000 (-0800) Subject: mds: fix mds_export_targets message parent X-Git-Tag: v0.20~384 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=dc2c1e90ff008332daaabcdea1886253016ec16b;p=ceph.git 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. --- diff --git a/src/messages/MMDSLoadTargets.h b/src/messages/MMDSLoadTargets.h index fffa52218647..8b77d361ea77 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); }