]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: fix mds_export_targets message parent
authorSage Weil <sage@newdream.net>
Fri, 26 Feb 2010 23:41:04 +0000 (15:41 -0800)
committerSage Weil <sage@newdream.net>
Fri, 26 Feb 2010 23:41:04 +0000 (15:41 -0800)
Needs to be a PaxosServiceMessage.  The monitor was assuming
as much, casting, and getting a gibberish prior paxos version.

src/messages/MMDSLoadTargets.h

index fffa52218647ecb6947e7669f04ca4491fda16a7..8b77d361ea773b0aead586f2b2f8733263eadb0d 100644 (file)
 #define __MMDSLoadTargets_H
 
 #include "msg/Message.h"
+#include "messages/PaxosServiceMessage.h"
 #include "include/types.h"
 
 #include <map>
 using std::map;
 
-class MMDSLoadTargets : public Message {
+class MMDSLoadTargets : public PaxosServiceMessage {
  public:
   __u64 global_id;
   set<int32_t> targets;
 
-  MMDSLoadTargets() : Message(MSG_MDS_OFFLOAD_TARGETS) {}
+  MMDSLoadTargets() : PaxosServiceMessage(MSG_MDS_OFFLOAD_TARGETS, 0) {}
 
   MMDSLoadTargets(__u64 g, set<int32_t>& 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);
   }