diff options
author | Colin Patrick McCabe <cmccabe@alumni.cmu.edu> | 2011-06-17 13:49:33 -0700 |
---|---|---|
committer | Colin Patrick McCabe <cmccabe@alumni.cmu.edu> | 2011-06-20 16:41:42 -0700 |
commit | ba61191021a75e8d543d7df9eae40effe2b0099f (patch) | |
tree | 7867d7c6c89284eb3ba2de7c01bbba28186b5cea | |
parent | b0cb48083db97da936a82caf6acb610ab3fd2637 (diff) | |
download | ceph-ba61191021a75e8d543d7df9eae40effe2b0099f.tar.gz |
msg: remove globals
Signed-off-by: Colin McCabe <colin.mccabe@dreamhost.com>
95 files changed, 222 insertions, 221 deletions
diff --git a/src/messages/MAuth.h b/src/messages/MAuth.h index 89d7f705303..2d16cf66cb7 100644 --- a/src/messages/MAuth.h +++ b/src/messages/MAuth.h @@ -33,13 +33,13 @@ public: out << "auth(proto " << protocol << " " << auth_payload.length() << " bytes)"; } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); paxos_decode(p); ::decode(protocol, p); ::decode(auth_payload, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { paxos_encode(); ::encode(protocol, payload); ::encode(auth_payload, payload); diff --git a/src/messages/MAuthReply.h b/src/messages/MAuthReply.h index ae620e2bbf8..9066064fc2f 100644 --- a/src/messages/MAuthReply.h +++ b/src/messages/MAuthReply.h @@ -45,7 +45,7 @@ public: o << ")"; } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(protocol, p); ::decode(result, p); @@ -53,7 +53,7 @@ public: ::decode(result_bl, p); ::decode(result_msg, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(protocol, payload); ::encode(result, payload); ::encode(global_id, payload); diff --git a/src/messages/MCacheExpire.h b/src/messages/MCacheExpire.h index ab32658c04d..5bf36978967 100644 --- a/src/messages/MCacheExpire.h +++ b/src/messages/MCacheExpire.h @@ -69,13 +69,13 @@ public: realms[df] = r; } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(from, p); ::decode(realms, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(from, payload); ::encode(realms, payload); } diff --git a/src/messages/MClientCapRelease.h b/src/messages/MClientCapRelease.h index 49d6a2eb814..ad054ce2f31 100644 --- a/src/messages/MClientCapRelease.h +++ b/src/messages/MClientCapRelease.h @@ -36,12 +36,12 @@ public: out << "client_cap_release(" << head.num << ")"; } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(head, p); ::decode_nohead(head.num, caps, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { head.num = caps.size(); ::encode(head, payload); ::encode_nohead(caps, payload); diff --git a/src/messages/MClientCaps.h b/src/messages/MClientCaps.h index 9de19f9afbb..c7caa7f7239 100644 --- a/src/messages/MClientCaps.h +++ b/src/messages/MClientCaps.h @@ -133,7 +133,7 @@ public: out << ")"; } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(head, p); ::decode_nohead(head.snap_trace_len, snapbl, p); @@ -146,7 +146,7 @@ public: if (header.version >= 2) ::decode(flockbl, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { head.snap_trace_len = snapbl.length(); head.xattr_len = xattrbl.length(); ::encode(head, payload); diff --git a/src/messages/MClientLease.h b/src/messages/MClientLease.h index 0fd3946168e..cab695b55b8 100644 --- a/src/messages/MClientLease.h +++ b/src/messages/MClientLease.h @@ -66,12 +66,12 @@ public: out << ")"; } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(h, p); ::decode(dname, p); } - virtual void encode_payload() { + virtual void encode_payload(CephContext *cct) { ::encode(h, payload); ::encode(dname, payload); } diff --git a/src/messages/MClientReconnect.h b/src/messages/MClientReconnect.h index bdde430a1f6..7afdd256250 100644 --- a/src/messages/MClientReconnect.h +++ b/src/messages/MClientReconnect.h @@ -48,7 +48,7 @@ public: realms.push_back(r); } - void encode_payload() { + void encode_payload(CephContext *cct) { if (connection->has_feature(CEPH_FEATURE_FLOCK)) { // new protocol header.version = 2; @@ -62,7 +62,7 @@ public: } ::encode_nohead(realms, data); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = data.begin(); if (header.version >= 2) { // new protocol diff --git a/src/messages/MClientReply.h b/src/messages/MClientReply.h index 6db029a4bf4..5b9913e7b1a 100644 --- a/src/messages/MClientReply.h +++ b/src/messages/MClientReply.h @@ -229,7 +229,7 @@ public: } // serialization - virtual void decode_payload() { + virtual void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(head, p); ::decode(trace_bl, p); @@ -237,7 +237,7 @@ public: ::decode(snapbl, p); assert(p.end()); } - virtual void encode_payload() { + virtual void encode_payload(CephContext *cct) { ::encode(head, payload); ::encode(trace_bl, payload); ::encode(extra_bl, payload); diff --git a/src/messages/MClientRequest.h b/src/messages/MClientRequest.h index 56147418419..51f55343dae 100644 --- a/src/messages/MClientRequest.h +++ b/src/messages/MClientRequest.h @@ -141,7 +141,7 @@ public: int get_dentry_wanted() { return get_flags() & CEPH_MDS_FLAG_WANT_DENTRY; } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(head, p); ::decode(path, p); @@ -149,7 +149,7 @@ public: ::decode_nohead(head.num_releases, releases, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { head.num_releases = releases.size(); ::encode(head, payload); ::encode(path, payload); diff --git a/src/messages/MClientRequestForward.h b/src/messages/MClientRequestForward.h index 046eea46830..4f64acb648b 100644 --- a/src/messages/MClientRequestForward.h +++ b/src/messages/MClientRequestForward.h @@ -46,13 +46,13 @@ public: << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(dest_mds, payload); ::encode(num_fwd, payload); ::encode(client_must_resend, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(dest_mds, p); ::decode(num_fwd, p); diff --git a/src/messages/MClientSession.h b/src/messages/MClientSession.h index 7f9f31aa3f1..7c8728195f4 100644 --- a/src/messages/MClientSession.h +++ b/src/messages/MClientSession.h @@ -55,11 +55,11 @@ public: out << ")"; } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(head, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(head, payload); } }; diff --git a/src/messages/MClientSnap.h b/src/messages/MClientSnap.h index 80226ba3719..85d2257e171 100644 --- a/src/messages/MClientSnap.h +++ b/src/messages/MClientSnap.h @@ -43,7 +43,7 @@ public: out << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { head.num_split_inos = split_inos.size(); head.num_split_realms = split_realms.size(); head.trace_len = bl.length(); @@ -52,7 +52,7 @@ public: ::encode_nohead(split_realms, payload); ::encode_nohead(bl, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(head, p); ::decode_nohead(head.num_split_inos, split_inos, p); diff --git a/src/messages/MDentryLink.h b/src/messages/MDentryLink.h index 7468691e41a..72cedc923f9 100644 --- a/src/messages/MDentryLink.h +++ b/src/messages/MDentryLink.h @@ -44,14 +44,14 @@ public: o << "dentry_link(" << dirfrag << " " << dn << ")"; } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(dirfrag, p); ::decode(dn, p); ::decode(is_primary, p); ::decode(bl, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(dirfrag, payload); ::encode(dn, payload); ::encode(is_primary, payload); diff --git a/src/messages/MDentryUnlink.h b/src/messages/MDentryUnlink.h index a2162d0ab22..49a181d52fa 100644 --- a/src/messages/MDentryUnlink.h +++ b/src/messages/MDentryUnlink.h @@ -41,13 +41,13 @@ public: o << "dentry_unlink(" << dirfrag << " " << dn << ")"; } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(dirfrag, p); ::decode(dn, p); ::decode(straybl, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(dirfrag, payload); ::encode(dn, payload); ::encode(straybl, payload); diff --git a/src/messages/MDirUpdate.h b/src/messages/MDirUpdate.h index f58e32eb210..5db7d9dc5c0 100644 --- a/src/messages/MDirUpdate.h +++ b/src/messages/MDirUpdate.h @@ -62,7 +62,7 @@ public: out << "dir_update(" << get_dirfrag() << ")"; } - virtual void decode_payload() { + virtual void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(from_mds, p); ::decode(dirfrag, p); @@ -72,7 +72,7 @@ public: ::decode(path, p); } - virtual void encode_payload() { + virtual void encode_payload(CephContext *cct) { ::encode(from_mds, payload); ::encode(dirfrag, payload); ::encode(dir_rep, payload); diff --git a/src/messages/MDiscover.h b/src/messages/MDiscover.h index 9ba31a62288..6c4ff1b5342 100644 --- a/src/messages/MDiscover.h +++ b/src/messages/MDiscover.h @@ -78,7 +78,7 @@ public: out << ")"; } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(base_ino, p); ::decode(base_dir_frag, p); @@ -88,7 +88,7 @@ public: ::decode(want_base_dir, p); ::decode(want_xlocked, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(base_ino, payload); ::encode(base_dir_frag, payload); ::encode(snapid, payload); diff --git a/src/messages/MDiscoverReply.h b/src/messages/MDiscoverReply.h index 67433a150cc..92d1b0a50c4 100644 --- a/src/messages/MDiscoverReply.h +++ b/src/messages/MDiscoverReply.h @@ -180,7 +180,7 @@ public: // ... - virtual void decode_payload() { + virtual void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(base_ino, p); ::decode(base_dir_frag, p); @@ -199,7 +199,7 @@ public: if (header.version >= 2) ::decode(wanted_ino, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { header.version = 2; ::encode(base_ino, payload); ::encode(base_dir_frag, payload); diff --git a/src/messages/MExportCaps.h b/src/messages/MExportCaps.h index d8137abfbab..97b01caea78 100644 --- a/src/messages/MExportCaps.h +++ b/src/messages/MExportCaps.h @@ -36,12 +36,12 @@ public: o << "export_caps(" << ino << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(ino, payload); ::encode(cap_bl, payload); ::encode(client_map, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(ino, p); ::decode(cap_bl, p); diff --git a/src/messages/MExportCapsAck.h b/src/messages/MExportCapsAck.h index 83f20209d7c..070601128ff 100644 --- a/src/messages/MExportCapsAck.h +++ b/src/messages/MExportCapsAck.h @@ -36,10 +36,10 @@ public: o << "export_caps_ack(" << ino << ")"; } - virtual void encode_payload() { + virtual void encode_payload(CephContext *cct) { ::encode(ino, payload); } - virtual void decode_payload() { + virtual void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(ino, p); } diff --git a/src/messages/MExportDir.h b/src/messages/MExportDir.h index fc6d35fa7a3..c2cb7ec82ba 100644 --- a/src/messages/MExportDir.h +++ b/src/messages/MExportDir.h @@ -44,13 +44,13 @@ public: bounds.push_back(df); } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(dirfrag, payload); ::encode(bounds, payload); ::encode(export_data, payload); ::encode(client_map, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(dirfrag, p); ::decode(bounds, p); diff --git a/src/messages/MExportDirAck.h b/src/messages/MExportDirAck.h index 57fbf0ab950..126bcf0cde2 100644 --- a/src/messages/MExportDirAck.h +++ b/src/messages/MExportDirAck.h @@ -35,11 +35,11 @@ public: o << "export_ack(" << dirfrag << ")"; } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(dirfrag, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(dirfrag, payload); } diff --git a/src/messages/MExportDirCancel.h b/src/messages/MExportDirCancel.h index 1ffec3644b7..a0399995e1c 100644 --- a/src/messages/MExportDirCancel.h +++ b/src/messages/MExportDirCancel.h @@ -37,10 +37,10 @@ public: o << "export_cancel(" << dirfrag << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(dirfrag, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(dirfrag, p); } diff --git a/src/messages/MExportDirDiscover.h b/src/messages/MExportDirDiscover.h index ea9d5df12bc..c7ac8a12a23 100644 --- a/src/messages/MExportDirDiscover.h +++ b/src/messages/MExportDirDiscover.h @@ -50,14 +50,14 @@ public: o << "export_discover(" << dirfrag << " " << path << ")"; } - virtual void decode_payload() { + virtual void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(from, p); ::decode(dirfrag, p); ::decode(path, p); } - virtual void encode_payload() { + virtual void encode_payload(CephContext *cct) { ::encode(from, payload); ::encode(dirfrag, payload); ::encode(path, payload); diff --git a/src/messages/MExportDirDiscoverAck.h b/src/messages/MExportDirDiscoverAck.h index 2272c853ce5..ae2704cabb6 100644 --- a/src/messages/MExportDirDiscoverAck.h +++ b/src/messages/MExportDirDiscoverAck.h @@ -45,12 +45,12 @@ public: o << " failure)"; } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(dirfrag, p); ::decode(success, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(dirfrag, payload); ::encode(success, payload); } diff --git a/src/messages/MExportDirFinish.h b/src/messages/MExportDirFinish.h index e5b7646dd67..46c511f3f85 100644 --- a/src/messages/MExportDirFinish.h +++ b/src/messages/MExportDirFinish.h @@ -37,10 +37,10 @@ public: o << "export_finish(" << dirfrag << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(dirfrag, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(dirfrag, p); } diff --git a/src/messages/MExportDirNotify.h b/src/messages/MExportDirNotify.h index bed2a6655ee..4ceb35b2c09 100644 --- a/src/messages/MExportDirNotify.h +++ b/src/messages/MExportDirNotify.h @@ -59,14 +59,14 @@ public: bounds.push_back(*i); } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(base, payload); ::encode(ack, payload); ::encode(old_auth, payload); ::encode(new_auth, payload); ::encode(bounds, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(base, p); ::decode(ack, p); diff --git a/src/messages/MExportDirNotifyAck.h b/src/messages/MExportDirNotifyAck.h index 714bbe97a2f..9d82013efb5 100644 --- a/src/messages/MExportDirNotifyAck.h +++ b/src/messages/MExportDirNotifyAck.h @@ -39,10 +39,10 @@ public: o << "export_notify_ack(" << dirfrag << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(dirfrag, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(dirfrag, p); } diff --git a/src/messages/MExportDirPrep.h b/src/messages/MExportDirPrep.h index 000ff610aed..65b4e789d39 100644 --- a/src/messages/MExportDirPrep.h +++ b/src/messages/MExportDirPrep.h @@ -63,7 +63,7 @@ public: bystanders.insert(who); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(dirfrag, p); ::decode(basedir, p); @@ -72,7 +72,7 @@ public: ::decode(bystanders, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(dirfrag, payload); ::encode(basedir, payload); ::encode(bounds, payload); diff --git a/src/messages/MExportDirPrepAck.h b/src/messages/MExportDirPrepAck.h index c6eacb3f4f9..5a8e5684c9e 100644 --- a/src/messages/MExportDirPrepAck.h +++ b/src/messages/MExportDirPrepAck.h @@ -37,11 +37,11 @@ public: o << "export_prep_ack(" << dirfrag << ")"; } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(dirfrag, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(dirfrag, payload); } }; diff --git a/src/messages/MForward.h b/src/messages/MForward.h index f188b0c7e72..17ef0995948 100644 --- a/src/messages/MForward.h +++ b/src/messages/MForward.h @@ -46,19 +46,19 @@ private: } public: - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(tid, payload); ::encode(client, payload); ::encode(client_caps, payload); - encode_message(msg, payload); + encode_message(cct, msg, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(tid, p); ::decode(client, p); ::decode(client_caps, p); - msg = (PaxosServiceMessage *)decode_message(p); + msg = (PaxosServiceMessage *)decode_message(cct, p); } const char *get_type_name() { return "forward"; } diff --git a/src/messages/MGenericMessage.h b/src/messages/MGenericMessage.h index 7b0d32312ba..38a26d490c0 100644 --- a/src/messages/MGenericMessage.h +++ b/src/messages/MGenericMessage.h @@ -32,8 +32,8 @@ class MGenericMessage : public Message { const char *get_type_name() { return tname; } - void decode_payload() { } - void encode_payload() { } + void decode_payload(CephContext *cct) { } + void encode_payload(CephContext *cct) { } }; #endif diff --git a/src/messages/MGetPoolStats.h b/src/messages/MGetPoolStats.h index 9ba3907cbcd..ea14eee8ac1 100644 --- a/src/messages/MGetPoolStats.h +++ b/src/messages/MGetPoolStats.h @@ -39,12 +39,12 @@ public: out << "getpoolstats(" << get_tid() << " " << pools << " v" << version << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { paxos_encode(); ::encode(fsid, payload); ::encode(pools, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); paxos_decode(p); ::decode(fsid, p); diff --git a/src/messages/MGetPoolStatsReply.h b/src/messages/MGetPoolStatsReply.h index de6c4b5664e..549f8258d78 100644 --- a/src/messages/MGetPoolStatsReply.h +++ b/src/messages/MGetPoolStatsReply.h @@ -37,12 +37,12 @@ public: out << "getpoolstatsreply(" << get_tid() << " v" << version << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { paxos_encode(); ::encode(fsid, payload); ::encode(pool_stats, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); paxos_decode(p); ::decode(fsid, p); diff --git a/src/messages/MHeartbeat.h b/src/messages/MHeartbeat.h index 17551e73708..62a70919ab8 100644 --- a/src/messages/MHeartbeat.h +++ b/src/messages/MHeartbeat.h @@ -44,12 +44,12 @@ private: public: const char *get_type_name() { return "HB"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(load, payload); ::encode(beat, payload); ::encode(import_map, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(load, p); ::decode(beat, p); diff --git a/src/messages/MInodeFileCaps.h b/src/messages/MInodeFileCaps.h index 8b24aac4075..24182f6a8cc 100644 --- a/src/messages/MInodeFileCaps.h +++ b/src/messages/MInodeFileCaps.h @@ -40,12 +40,12 @@ private: public: const char *get_type_name() { return "Icap";} - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(from, payload); ::encode(ino, payload); ::encode(caps, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(from, p); ::decode(ino, p); diff --git a/src/messages/MLock.h b/src/messages/MLock.h index 5069aadcf4a..fa4d975f046 100644 --- a/src/messages/MLock.h +++ b/src/messages/MLock.h @@ -72,7 +72,7 @@ public: this->lockdata = lockdata; } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(asker, p); ::decode(action, p); @@ -81,7 +81,7 @@ public: ::decode(object_info, p); ::decode(lockdata, p); } - virtual void encode_payload() { + virtual void encode_payload(CephContext *cct) { ::encode(asker, payload); ::encode(action, payload); ::encode(reqid, payload); diff --git a/src/messages/MLog.h b/src/messages/MLog.h index 604df33d473..ee00ffe704b 100644 --- a/src/messages/MLog.h +++ b/src/messages/MLog.h @@ -41,12 +41,12 @@ public: out << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { paxos_encode(); ::encode(fsid, payload); ::encode(entries, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); paxos_decode(p); ::decode(fsid, p); diff --git a/src/messages/MLogAck.h b/src/messages/MLogAck.h index 27b098276a1..a623b445017 100644 --- a/src/messages/MLogAck.h +++ b/src/messages/MLogAck.h @@ -31,11 +31,11 @@ public: out << "log(last " << last << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(fsid, payload); ::encode(last, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(fsid, p); ::decode(last, p); diff --git a/src/messages/MMDSBeacon.h b/src/messages/MMDSBeacon.h index eea9e6eae19..cc338b75917 100644 --- a/src/messages/MMDSBeacon.h +++ b/src/messages/MMDSBeacon.h @@ -65,7 +65,7 @@ public: << " seq " << seq << " v" << version << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { header.version = 2; paxos_encode(); ::encode(fsid, payload); @@ -77,7 +77,7 @@ public: ::encode(standby_for_name, payload); ::encode(compat, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); paxos_decode(p); ::decode(fsid, p); diff --git a/src/messages/MMDSCacheRejoin.h b/src/messages/MMDSCacheRejoin.h index 6138911d73d..1633f7c62e7 100644 --- a/src/messages/MMDSCacheRejoin.h +++ b/src/messages/MMDSCacheRejoin.h @@ -254,7 +254,7 @@ public: } // -- encoding -- - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(op, payload); ::encode(strong_inodes, payload); ::encode(inode_base, payload); @@ -271,7 +271,7 @@ public: ::encode(authpinned_dentries, payload); ::encode(xlocked_dentries, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(op, p); ::decode(strong_inodes, p); diff --git a/src/messages/MMDSFindIno.h b/src/messages/MMDSFindIno.h index 204aa85ad1d..a5d707c10c0 100644 --- a/src/messages/MMDSFindIno.h +++ b/src/messages/MMDSFindIno.h @@ -30,11 +30,11 @@ struct MMDSFindIno : public Message { out << "findino(" << tid << " " << ino << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(tid, payload); ::encode(ino, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(tid, p); ::decode(ino, p); diff --git a/src/messages/MMDSFindInoReply.h b/src/messages/MMDSFindInoReply.h index a3b3460277f..99149e58e65 100644 --- a/src/messages/MMDSFindInoReply.h +++ b/src/messages/MMDSFindInoReply.h @@ -30,11 +30,11 @@ struct MMDSFindInoReply : public Message { out << "findinoreply(" << tid << " " << path << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(tid, payload); ::encode(path, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(tid, p); ::decode(path, p); diff --git a/src/messages/MMDSFragmentNotify.h b/src/messages/MMDSFragmentNotify.h index 4457e2917ae..a9859509d79 100644 --- a/src/messages/MMDSFragmentNotify.h +++ b/src/messages/MMDSFragmentNotify.h @@ -45,13 +45,13 @@ public: << " " << (int)bits << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(ino, payload); ::encode(basefrag, payload); ::encode(bits, payload); ::encode(basebl, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(ino, p); ::decode(basefrag, p); diff --git a/src/messages/MMDSLoadTargets.h b/src/messages/MMDSLoadTargets.h index e207372276a..21709d55c12 100644 --- a/src/messages/MMDSLoadTargets.h +++ b/src/messages/MMDSLoadTargets.h @@ -41,14 +41,14 @@ public: o << "mds_load_targets(" << global_id << " " << targets << ")"; } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); paxos_decode(p); ::decode(global_id, p); ::decode(targets, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { paxos_encode(); ::encode(global_id, payload); ::encode(targets, payload); diff --git a/src/messages/MMDSMap.h b/src/messages/MMDSMap.h index c41183d03d5..28c8169627b 100644 --- a/src/messages/MMDSMap.h +++ b/src/messages/MMDSMap.h @@ -70,13 +70,13 @@ public: } // marshalling - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(fsid, p); ::decode(epoch, p); ::decode(encoded, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(fsid, payload); ::encode(epoch, payload); ::encode(encoded, payload); diff --git a/src/messages/MMDSResolve.h b/src/messages/MMDSResolve.h index 747f9a67bb3..96989aedad4 100644 --- a/src/messages/MMDSResolve.h +++ b/src/messages/MMDSResolve.h @@ -53,12 +53,12 @@ public: slave_requests.push_back(reqid); } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(subtrees, payload); ::encode(ambiguous_imports, payload); ::encode(slave_requests, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(subtrees, p); ::decode(ambiguous_imports, p); diff --git a/src/messages/MMDSResolveAck.h b/src/messages/MMDSResolveAck.h index da9a7a2ca00..c3b14c95a2b 100644 --- a/src/messages/MMDSResolveAck.h +++ b/src/messages/MMDSResolveAck.h @@ -45,11 +45,11 @@ public: abort.push_back(r); } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(commit, payload); ::encode(abort, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(commit, p); ::decode(abort, p); diff --git a/src/messages/MMDSSlaveRequest.h b/src/messages/MMDSSlaveRequest.h index 6ebbe00c70c..bb21d9ebae2 100644 --- a/src/messages/MMDSSlaveRequest.h +++ b/src/messages/MMDSSlaveRequest.h @@ -110,7 +110,7 @@ private: ~MMDSSlaveRequest() {} public: - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(reqid, payload); ::encode(op, payload); ::encode(lock_type, payload); @@ -125,7 +125,7 @@ public: ::encode(srci_replica, payload); ::encode(stray, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(reqid, p); ::decode(op, p); diff --git a/src/messages/MMDSTableRequest.h b/src/messages/MMDSTableRequest.h index c3f7c860e1f..b9dcaf5668c 100644 --- a/src/messages/MMDSTableRequest.h +++ b/src/messages/MMDSTableRequest.h @@ -46,7 +46,7 @@ public: o << ")"; } - virtual void decode_payload() { + virtual void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(table, p); ::decode(op, p); @@ -54,7 +54,7 @@ public: ::decode(bl, p); } - virtual void encode_payload() { + virtual void encode_payload(CephContext *cct) { ::encode(table, payload); ::encode(op, payload); ::encode(reqid, payload); diff --git a/src/messages/MMonCommand.h b/src/messages/MMonCommand.h index dcf2ceb489f..55e1aecd58d 100644 --- a/src/messages/MMonCommand.h +++ b/src/messages/MMonCommand.h @@ -44,12 +44,12 @@ public: o << " v " << version << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { paxos_encode(); ::encode(fsid, payload); ::encode(cmd, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); paxos_decode(p); ::decode(fsid, p); diff --git a/src/messages/MMonCommandAck.h b/src/messages/MMonCommandAck.h index 58aa08d3423..92bf9361bb6 100644 --- a/src/messages/MMonCommandAck.h +++ b/src/messages/MMonCommandAck.h @@ -36,13 +36,13 @@ public: o << "mon_command_ack(" << cmd << "=" << r << " " << rs << " v" << version << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { paxos_encode(); ::encode(r, payload); ::encode(rs, payload); ::encode(cmd, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); paxos_decode(p); ::decode(r, p); diff --git a/src/messages/MMonElection.h b/src/messages/MMonElection.h index 4398dd5ee33..6ca0159ebaf 100644 --- a/src/messages/MMonElection.h +++ b/src/messages/MMonElection.h @@ -55,13 +55,13 @@ public: out << "election(" << get_opname(op) << " " << epoch << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(op, payload); ::encode(epoch, payload); ::encode(monmap_bl, payload); ::encode(quorum, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(op, p); ::decode(epoch, p); diff --git a/src/messages/MMonGetMap.h b/src/messages/MMonGetMap.h index 59ca1d6022d..e145763bd7b 100644 --- a/src/messages/MMonGetMap.h +++ b/src/messages/MMonGetMap.h @@ -28,8 +28,8 @@ private: public: const char *get_type_name() { return "mon_getmap"; } - void encode_payload() { } - void decode_payload() { } + void encode_payload(CephContext *cct) { } + void decode_payload(CephContext *cct) { } }; #endif diff --git a/src/messages/MMonGlobalID.h b/src/messages/MMonGlobalID.h index 45489c7258a..2d966f1661b 100644 --- a/src/messages/MMonGlobalID.h +++ b/src/messages/MMonGlobalID.h @@ -29,12 +29,12 @@ public: out << "global_id (" << old_max_id << ")"; } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); paxos_decode(p); ::decode(old_max_id, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { paxos_encode(); ::encode(old_max_id, payload); } diff --git a/src/messages/MMonMap.h b/src/messages/MMonMap.h index 14bf5220e1d..26f04e0a5cc 100644 --- a/src/messages/MMonMap.h +++ b/src/messages/MMonMap.h @@ -31,10 +31,10 @@ private: public: const char *get_type_name() { return "mon_map"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(monmapbl, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(monmapbl, p); } diff --git a/src/messages/MMonObserve.h b/src/messages/MMonObserve.h index 4ec4fb4998f..56cc904c6e3 100644 --- a/src/messages/MMonObserve.h +++ b/src/messages/MMonObserve.h @@ -39,13 +39,13 @@ public: o << "observe(" << machine_id << " v" << ver << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { paxos_encode(); ::encode(fsid, payload); ::encode(machine_id, payload); ::encode(ver, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); paxos_decode(p); ::decode(fsid, p); diff --git a/src/messages/MMonObserveNotify.h b/src/messages/MMonObserveNotify.h index 034b6799fa9..ee19bc711dc 100644 --- a/src/messages/MMonObserveNotify.h +++ b/src/messages/MMonObserveNotify.h @@ -40,7 +40,7 @@ public: o << " v" << version << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { paxos_encode(); ::encode(fsid, payload); ::encode(machine_id, payload); @@ -48,7 +48,7 @@ public: ::encode(ver, payload); ::encode(is_latest, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); paxos_decode(p); ::decode(fsid, p); diff --git a/src/messages/MMonPaxos.h b/src/messages/MMonPaxos.h index 935125dd8dd..f3f9416f1b9 100644 --- a/src/messages/MMonPaxos.h +++ b/src/messages/MMonPaxos.h @@ -86,7 +86,7 @@ public: out << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { if (connection->has_feature(CEPH_FEATURE_MONCLOCKCHECK)) header.version = 1; ::encode(epoch, payload); @@ -104,7 +104,7 @@ public: ::encode(latest_value, payload); ::encode(values, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(epoch, p); ::decode(op, p); diff --git a/src/messages/MMonSubscribe.h b/src/messages/MMonSubscribe.h index 0d94ff05c31..6ec157921fb 100644 --- a/src/messages/MMonSubscribe.h +++ b/src/messages/MMonSubscribe.h @@ -46,7 +46,7 @@ public: o << "mon_subscribe(" << what << ")"; } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); if (header.version < 2) { map<string, ceph_mon_subscribe_item_old> oldwhat; @@ -67,7 +67,7 @@ public: ::decode(what, p); } } - void encode_payload() { + void encode_payload(CephContext *cct) { if (get_connection()->has_feature(CEPH_FEATURE_SUBSCRIBE2)) { header.version = 2; ::encode(what, payload); diff --git a/src/messages/MMonSubscribeAck.h b/src/messages/MMonSubscribeAck.h index dff6de1e89b..d4f1fae6930 100644 --- a/src/messages/MMonSubscribeAck.h +++ b/src/messages/MMonSubscribeAck.h @@ -36,12 +36,12 @@ public: o << "mon_subscribe_ack(" << interval << "s)"; } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(interval, p); ::decode(fsid, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(interval, payload); ::encode(fsid, payload); } diff --git a/src/messages/MOSDAlive.h b/src/messages/MOSDAlive.h index cac0a30ca12..4fb8d039fba 100644 --- a/src/messages/MOSDAlive.h +++ b/src/messages/MOSDAlive.h @@ -29,11 +29,11 @@ private: ~MOSDAlive() {} public: - void encode_payload() { + void encode_payload(CephContext *cct) { paxos_encode(); ::encode(want, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); paxos_decode(p); ::decode(want, p); diff --git a/src/messages/MOSDBoot.h b/src/messages/MOSDBoot.h index 8bf368eb19c..74c22303f4e 100644 --- a/src/messages/MOSDBoot.h +++ b/src/messages/MOSDBoot.h @@ -41,14 +41,14 @@ public: out << "osd_boot(osd" << sb.whoami << " v" << version << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { header.version = 2; paxos_encode(); ::encode(sb, payload); ::encode(hb_addr, payload); ::encode(cluster_addr, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); paxos_decode(p); ::decode(sb, p); diff --git a/src/messages/MOSDFailure.h b/src/messages/MOSDFailure.h index 0f68f5b51d6..5954123d4f7 100644 --- a/src/messages/MOSDFailure.h +++ b/src/messages/MOSDFailure.h @@ -38,7 +38,7 @@ public: bool if_osd_failed() { return is_failed; } epoch_t get_epoch() { return epoch; } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); paxos_decode(p); ::decode(fsid, p); @@ -48,7 +48,7 @@ public: ::decode(is_failed, p); else is_failed = true; } - void encode_payload() { + void encode_payload(CephContext *cct) { header.version = 2; paxos_encode(); ::encode(fsid, payload); diff --git a/src/messages/MOSDMap.h b/src/messages/MOSDMap.h index 39d938933de..58a7be90f77 100644 --- a/src/messages/MOSDMap.h +++ b/src/messages/MOSDMap.h @@ -57,13 +57,13 @@ private: public: // marshalling - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(fsid, p); ::decode(incremental_maps, p); ::decode(maps, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(fsid, payload); ::encode(incremental_maps, payload); ::encode(maps, payload); diff --git a/src/messages/MOSDOp.h b/src/messages/MOSDOp.h index 234901abec8..e9e877d9ac5 100644 --- a/src/messages/MOSDOp.h +++ b/src/messages/MOSDOp.h @@ -170,7 +170,7 @@ public: } // marshalling - virtual void encode_payload() { + virtual void encode_payload(CephContext *cct) { for (unsigned i = 0; i < ops.size(); i++) { if (ceph_osd_op_type_multi(ops[i].op.op)) { @@ -262,7 +262,7 @@ struct ceph_osd_request_head { } } - virtual void decode_payload() { + virtual void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); if (header.version < 2) { diff --git a/src/messages/MOSDOpReply.h b/src/messages/MOSDOpReply.h index 94c614db2fa..21b36a26a52 100644 --- a/src/messages/MOSDOpReply.h +++ b/src/messages/MOSDOpReply.h @@ -82,7 +82,7 @@ private: public: // marshalling - virtual void decode_payload() { + virtual void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(head, p); ops.resize(head.num_ops); @@ -91,7 +91,7 @@ public: } ::decode_nohead(head.object_len, oid.name, p); } - virtual void encode_payload() { + virtual void encode_payload(CephContext *cct) { head.num_ops = ops.size(); head.object_len = oid.name.length(); ::encode(head, payload); diff --git a/src/messages/MOSDPGCreate.h b/src/messages/MOSDPGCreate.h index 5ec5f2f993c..b006be56b6b 100644 --- a/src/messages/MOSDPGCreate.h +++ b/src/messages/MOSDPGCreate.h @@ -54,11 +54,11 @@ private: public: const char *get_type_name() { return "pg_create"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(epoch, payload); ::encode(mkpg, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(epoch, p); ::decode(mkpg, p); diff --git a/src/messages/MOSDPGInfo.h b/src/messages/MOSDPGInfo.h index 886216a42a0..9668a8416cf 100644 --- a/src/messages/MOSDPGInfo.h +++ b/src/messages/MOSDPGInfo.h @@ -39,11 +39,11 @@ public: out << "pg_info(" << pg_info.size() << " pgs e" << epoch << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(epoch, payload); ::encode(pg_info, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(epoch, p); ::decode(pg_info, p); diff --git a/src/messages/MOSDPGLog.h b/src/messages/MOSDPGLog.h index 384319f6163..b733b8d1884 100644 --- a/src/messages/MOSDPGLog.h +++ b/src/messages/MOSDPGLog.h @@ -42,13 +42,13 @@ public: out << "pg_log(" << info.pgid << " e" << epoch << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(epoch, payload); ::encode(info, payload); ::encode(log, payload); ::encode(missing, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(epoch, p); ::decode(info, p); diff --git a/src/messages/MOSDPGMissing.h b/src/messages/MOSDPGMissing.h index 1918ffd50c6..4b099997b69 100644 --- a/src/messages/MOSDPGMissing.h +++ b/src/messages/MOSDPGMissing.h @@ -41,12 +41,12 @@ public: out << "pg_missing(" << info.pgid << " e" << epoch << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(epoch, payload); ::encode(info, payload); ::encode(missing, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(epoch, p); ::decode(info, p); diff --git a/src/messages/MOSDPGNotify.h b/src/messages/MOSDPGNotify.h index ce4f92d6467..565864de2a7 100644 --- a/src/messages/MOSDPGNotify.h +++ b/src/messages/MOSDPGNotify.h @@ -43,11 +43,11 @@ private: public: const char *get_type_name() { return "PGnot"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(epoch, payload); ::encode(pg_list, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(epoch, p); ::decode(pg_list, p); diff --git a/src/messages/MOSDPGQuery.h b/src/messages/MOSDPGQuery.h index 6fffc0892c5..123cff37523 100644 --- a/src/messages/MOSDPGQuery.h +++ b/src/messages/MOSDPGQuery.h @@ -41,11 +41,11 @@ private: public: const char *get_type_name() { return "PGq"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(epoch, payload); ::encode(pg_list, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(epoch, p); ::decode(pg_list, p); diff --git a/src/messages/MOSDPGRemove.h b/src/messages/MOSDPGRemove.h index f6acf4cf0a9..85177687092 100644 --- a/src/messages/MOSDPGRemove.h +++ b/src/messages/MOSDPGRemove.h @@ -39,11 +39,11 @@ private: public: const char *get_type_name() { return "PGrm"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(epoch, payload); ::encode(pg_list, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(epoch, p); ::decode(pg_list, p); diff --git a/src/messages/MOSDPGTemp.h b/src/messages/MOSDPGTemp.h index 2f28423cf7d..9476662e783 100644 --- a/src/messages/MOSDPGTemp.h +++ b/src/messages/MOSDPGTemp.h @@ -30,12 +30,12 @@ private: ~MOSDPGTemp() {} public: - void encode_payload() { + void encode_payload(CephContext *cct) { paxos_encode(); ::encode(map_epoch, payload); ::encode(pg_temp, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); paxos_decode(p); ::decode(map_epoch, p); diff --git a/src/messages/MOSDPGTrim.h b/src/messages/MOSDPGTrim.h index 4592a4ad83e..24bebf8f4b9 100644 --- a/src/messages/MOSDPGTrim.h +++ b/src/messages/MOSDPGTrim.h @@ -38,12 +38,12 @@ public: out << "pg_trim(" << pgid << " to " << trim_to << " e" << epoch << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(epoch, payload); ::encode(pgid, payload); ::encode(trim_to, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(epoch, p); ::decode(pgid, p); diff --git a/src/messages/MOSDPing.h b/src/messages/MOSDPing.h index d6b40768ed4..f350c409821 100644 --- a/src/messages/MOSDPing.h +++ b/src/messages/MOSDPing.h @@ -49,7 +49,7 @@ private: ~MOSDPing() {} public: - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(fsid, p); ::decode(map_epoch, p); @@ -57,7 +57,7 @@ public: ::decode(op, p); ::decode(peer_stat, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(fsid, payload); ::encode(map_epoch, payload); ::encode(peer_as_of_epoch, payload); diff --git a/src/messages/MOSDRepScrub.h b/src/messages/MOSDRepScrub.h index 67fa723d1c7..fe85473ae2d 100644 --- a/src/messages/MOSDRepScrub.h +++ b/src/messages/MOSDRepScrub.h @@ -46,12 +46,12 @@ public: out << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(pgid, payload); ::encode(scrub_from, payload); ::encode(map_epoch, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(pgid, p); ::decode(scrub_from, p); diff --git a/src/messages/MOSDScrub.h b/src/messages/MOSDScrub.h index ec81e73016c..da7884a1c8a 100644 --- a/src/messages/MOSDScrub.h +++ b/src/messages/MOSDScrub.h @@ -50,12 +50,12 @@ public: out << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(fsid, payload); ::encode(scrub_pgs, payload); ::encode(repair, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(fsid, p); ::decode(scrub_pgs, p); diff --git a/src/messages/MOSDSubOp.h b/src/messages/MOSDSubOp.h index f2ab1698e13..75eaf912486 100644 --- a/src/messages/MOSDSubOp.h +++ b/src/messages/MOSDSubOp.h @@ -67,7 +67,7 @@ public: bool first, complete; - virtual void decode_payload() { + virtual void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(map_epoch, p); ::decode(reqid, p); @@ -108,7 +108,7 @@ public: ::decode(oloc, p); } - virtual void encode_payload() { + virtual void encode_payload(CephContext *cct) { header.version = 3; ::encode(map_epoch, payload); diff --git a/src/messages/MOSDSubOpReply.h b/src/messages/MOSDSubOpReply.h index fffe722aaf7..4abccef94f2 100644 --- a/src/messages/MOSDSubOpReply.h +++ b/src/messages/MOSDSubOpReply.h @@ -50,7 +50,7 @@ public: map<string,bufferptr> attrset; - virtual void decode_payload() { + virtual void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(map_epoch, p); ::decode(reqid, p); @@ -69,7 +69,7 @@ public: ::decode(peer_stat, p); ::decode(attrset, p); } - virtual void encode_payload() { + virtual void encode_payload(CephContext *cct) { ::encode(map_epoch, payload); ::encode(reqid, payload); ::encode(pgid, payload); diff --git a/src/messages/MPGStats.h b/src/messages/MPGStats.h index 22248d736c0..3fc666067e8 100644 --- a/src/messages/MPGStats.h +++ b/src/messages/MPGStats.h @@ -39,7 +39,7 @@ public: out << "pg_stats(" << pg_stat.size() << " pgs v " << version << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { paxos_encode(); ::encode(fsid, payload); ::encode(osd_stat, payload); @@ -47,7 +47,7 @@ public: ::encode(epoch, payload); ::encode(had_map_for, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); paxos_decode(p); ::decode(fsid, p); diff --git a/src/messages/MPGStatsAck.h b/src/messages/MPGStatsAck.h index 808f4b726b6..9ca1c72fb66 100644 --- a/src/messages/MPGStatsAck.h +++ b/src/messages/MPGStatsAck.h @@ -32,10 +32,10 @@ public: out << "pg_stats_ack(" << pg_stat.size() << " pgs)"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(pg_stat, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(pg_stat, p); } diff --git a/src/messages/MPing.h b/src/messages/MPing.h index 6788066ce99..d6175dc6191 100644 --- a/src/messages/MPing.h +++ b/src/messages/MPing.h @@ -27,8 +27,8 @@ private: ~MPing() {} public: - void decode_payload() { } - void encode_payload() { } + void decode_payload(CephContext *cct) { } + void encode_payload(CephContext *cct) { } const char *get_type_name() { return "ping"; } }; diff --git a/src/messages/MPoolOp.h b/src/messages/MPoolOp.h index b9444427cf6..284257efd86 100644 --- a/src/messages/MPoolOp.h +++ b/src/messages/MPoolOp.h @@ -52,7 +52,7 @@ public: << ", tid" << get_tid() << " " << name << " v" << version << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { header.version = 4; paxos_encode(); ::encode(fsid, payload); @@ -65,7 +65,7 @@ public: ::encode(pad, payload); /* for v3->v4 encoding change */ ::encode(crush_rule, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); paxos_decode(p); ::decode(fsid, p); diff --git a/src/messages/MPoolOpReply.h b/src/messages/MPoolOpReply.h index 6d9e185aee3..61958d83754 100644 --- a/src/messages/MPoolOpReply.h +++ b/src/messages/MPoolOpReply.h @@ -50,7 +50,7 @@ public: << get_tid() << " v" << version << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { paxos_encode(); ::encode(fsid, payload); ::encode(replyCode, payload); @@ -61,7 +61,7 @@ public: } else ::encode(false, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); paxos_decode(p); ::decode(fsid, p); diff --git a/src/messages/MRemoveSnaps.h b/src/messages/MRemoveSnaps.h index a201455d197..c2f47087ea5 100644 --- a/src/messages/MRemoveSnaps.h +++ b/src/messages/MRemoveSnaps.h @@ -35,11 +35,11 @@ public: out << "remove_snaps(" << snaps << " v" << version << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { paxos_encode(); ::encode(snaps, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); paxos_decode(p); ::decode(snaps, p); diff --git a/src/messages/MRoute.h b/src/messages/MRoute.h index 076b8f99670..cec976f1708 100644 --- a/src/messages/MRoute.h +++ b/src/messages/MRoute.h @@ -28,10 +28,10 @@ struct MRoute : public Message { MRoute() : Message(MSG_ROUTE), msg(NULL) {} MRoute(uint64_t t, Message *m) : Message(MSG_ROUTE), session_mon_tid(t), msg(m) {} - MRoute(bufferlist bl, entity_inst_t i) : + MRoute(CephContext *cct, bufferlist bl, entity_inst_t i) : Message(MSG_ROUTE), session_mon_tid(0), dest(i) { bufferlist::iterator p = bl.begin(); - msg = decode_message(p); + msg = decode_message(cct, p); } private: ~MRoute() { @@ -39,16 +39,16 @@ private: } public: - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(session_mon_tid, p); ::decode(dest, p); - msg = decode_message(p); + msg = decode_message(cct, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(session_mon_tid, payload); ::encode(dest, payload); - encode_message(msg, payload); + encode_message(cct, msg, payload); } const char *get_type_name() { return "route"; } diff --git a/src/messages/MStatfs.h b/src/messages/MStatfs.h index 94eb4b7a4e7..c93fd95b373 100644 --- a/src/messages/MStatfs.h +++ b/src/messages/MStatfs.h @@ -38,11 +38,11 @@ public: out << "statfs(" << get_tid() << " v" << version << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { paxos_encode(); ::encode(fsid, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); paxos_decode(p); ::decode(fsid, p); diff --git a/src/messages/MStatfsReply.h b/src/messages/MStatfsReply.h index 3e42d4716a0..18488f9d6d0 100644 --- a/src/messages/MStatfsReply.h +++ b/src/messages/MStatfsReply.h @@ -32,10 +32,10 @@ public: out << "statfs_reply(" << header.tid << ")"; } - void encode_payload() { + void encode_payload(CephContext *cct) { ::encode(h, payload); } - void decode_payload() { + void decode_payload(CephContext *cct) { bufferlist::iterator p = payload.begin(); ::decode(h, p); } diff --git a/src/messages/MWatchNotify.h b/src/messages/MWatchNotify.h index 59f7bf477d4..d0fc4858c45 100644 --- a/src/messages/MWatchNotify.h +++ b/src/messages/MWatchNotify.h @@ -33,7 +33,7 @@ private: ~MWatchNotify() {} public: - void decode_payload() { + void decode_payload(CephContext *cct) { uint8_t msg_ver; bufferlist::iterator p = payload.begin(); ::decode(msg_ver, p); @@ -42,7 +42,7 @@ public: ::decode(ver, p); ::decode(notify_id, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { uint8_t msg_ver = 0; ::encode(msg_ver, payload); ::encode(opcode, payload); diff --git a/src/messages/PaxosServiceMessage.h b/src/messages/PaxosServiceMessage.h index cebc0c88c93..d5996ebcd59 100644 --- a/src/messages/PaxosServiceMessage.h +++ b/src/messages/PaxosServiceMessage.h @@ -30,12 +30,12 @@ class PaxosServiceMessage : public Message { ::decode(session_mon_tid, p); } - void encode_payload() { + void encode_payload(CephContext *cct) { assert(0); paxos_encode(); } - void decode_payload() { + void decode_payload(CephContext *cct) { assert(0); bufferlist::iterator p = payload.begin(); paxos_decode(p); diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index 55e00699fdd..d9a5d792f6b 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -499,7 +499,7 @@ void Monitor::forward_request_leader(PaxosServiceMessage *req) } else if (session && !session->closed) { RoutedRequest *rr = new RoutedRequest; rr->tid = ++routed_request_tid; - encode_message(req, rr->request_bl); + encode_message(&g_ceph_context, req, rr->request_bl); rr->session = (MonSession *)session->get(); routed_requests[rr->tid] = rr; session->routed_request_tids.insert(rr->tid); @@ -556,13 +556,13 @@ void Monitor::try_send_message(Message *m, entity_inst_t to) dout(10) << "try_send_message " << *m << " to " << to << dendl; bufferlist bl; - encode_message(m, bl); + encode_message(&g_ceph_context, m, bl); messenger->send_message(m, to); for (int i=0; i<(int)monmap->size(); i++) { if (i != rank) - messenger->send_message(new MRoute(bl, to), monmap->get_inst(i)); + messenger->send_message(new MRoute(cct, bl, to), monmap->get_inst(i)); } } @@ -632,7 +632,7 @@ void Monitor::resend_routed_requests() RoutedRequest *rr = p->second; bufferlist::iterator q = rr->request_bl.begin(); - PaxosServiceMessage *req = (PaxosServiceMessage *)decode_message(q); + PaxosServiceMessage *req = (PaxosServiceMessage *)decode_message(cct, q); dout(10) << " resend to mon" << mon << " tid " << rr->tid << " " << *req << dendl; MForward *forward = new MForward(rr->tid, req, rr->session->caps); diff --git a/src/msg/Message.cc b/src/msg/Message.cc index 24512e0bd10..f228e2d9904 100644 --- a/src/msg/Message.cc +++ b/src/msg/Message.cc @@ -132,37 +132,37 @@ using namespace std; #define DEBUGLVL 10 // debug level of output -void Message::encode() +void Message::encode(CephContext *cct) { // encode and copy out of *m if (empty_payload()) - encode_payload(); + encode_payload(cct); calc_front_crc(); - if (!g_conf->ms_nocrc) + if (!cct->_conf->ms_nocrc) calc_data_crc(); else footer.flags = (unsigned)footer.flags | CEPH_MSG_FOOTER_NOCRC; } -Message *decode_message(ceph_msg_header& header, ceph_msg_footer& footer, +Message *decode_message(CephContext *cct, ceph_msg_header& header, ceph_msg_footer& footer, bufferlist& front, bufferlist& middle, bufferlist& data) { // verify crc - if (!g_conf->ms_nocrc) { + if (!cct->_conf->ms_nocrc) { __u32 front_crc = front.crc32c(0); __u32 middle_crc = middle.crc32c(0); if (front_crc != footer.front_crc) { - dout(0) << "bad crc in front " << front_crc << " != exp " << footer.front_crc << dendl; - dout(20) << " "; + ldout(cct, 0) << "bad crc in front " << front_crc << " != exp " << footer.front_crc << dendl; + ldout(cct, 20) << " "; front.hexdump(*_dout); *_dout << dendl; return 0; } if (middle_crc != footer.middle_crc) { - dout(0) << "bad crc in middle " << middle_crc << " != exp " << footer.middle_crc << dendl; - dout(20) << " "; + ldout(cct, 0) << "bad crc in middle " << middle_crc << " != exp " << footer.middle_crc << dendl; + ldout(cct, 20) << " "; middle.hexdump(*_dout); *_dout << dendl; return 0; @@ -171,8 +171,8 @@ Message *decode_message(ceph_msg_header& header, ceph_msg_footer& footer, if ((footer.flags & CEPH_MSG_FOOTER_NOCRC) == 0) { __u32 data_crc = data.crc32c(0); if (data_crc != footer.data_crc) { - dout(0) << "bad crc in data " << data_crc << " != exp " << footer.data_crc << dendl; - dout(20) << " "; + ldout(cct, 0) << "bad crc in data " << data_crc << " != exp " << footer.data_crc << dendl; + ldout(cct, 20) << " "; data.hexdump(*_dout); *_dout << dendl; return 0; @@ -508,8 +508,8 @@ Message *decode_message(ceph_msg_header& header, ceph_msg_footer& footer, break; default: - dout(0) << "can't decode unknown message type " << type << " MSG_AUTH=" << CEPH_MSG_AUTH << dendl; - if (g_conf->ms_die_on_bad_msg) + ldout(cct, 0) << "can't decode unknown message type " << type << " MSG_AUTH=" << CEPH_MSG_AUTH << dendl; + if (cct->_conf->ms_die_on_bad_msg) assert(0); return 0; } @@ -521,13 +521,13 @@ Message *decode_message(ceph_msg_header& header, ceph_msg_footer& footer, m->set_data(data); try { - m->decode_payload(); + m->decode_payload(cct); } catch (const buffer::error &e) { - dout(0) << "failed to decode message of type " << type + ldout(cct, 0) << "failed to decode message of type " << type << " v" << header.version << ": " << e.what() << dendl; - if (g_conf->ms_die_on_bad_msg) + if (cct->_conf->ms_die_on_bad_msg) assert(0); return 0; } @@ -537,10 +537,10 @@ Message *decode_message(ceph_msg_header& header, ceph_msg_footer& footer, } -void encode_message(Message *msg, bufferlist& payload) +void encode_message(CephContext *cct, Message *msg, bufferlist& payload) { bufferlist front, middle, data; - msg->encode(); + msg->encode(cct); ::encode(msg->get_header(), payload); ::encode(msg->get_footer(), payload); ::encode(msg->get_payload(), payload); @@ -548,7 +548,7 @@ void encode_message(Message *msg, bufferlist& payload) ::encode(msg->get_data(), payload); } -Message *decode_message(bufferlist::iterator& p) +Message *decode_message(CephContext *cct, bufferlist::iterator& p) { ceph_msg_header h; ceph_msg_footer f; @@ -558,5 +558,5 @@ Message *decode_message(bufferlist::iterator& p) ::decode(fr, p); ::decode(mi, p); ::decode(da, p); - return decode_message(h, f, fr, mi, da); + return decode_message(cct, h, f, fr, mi, da); } diff --git a/src/msg/Message.h b/src/msg/Message.h index 88467134b58..9fc877433cb 100644 --- a/src/msg/Message.h +++ b/src/msg/Message.h @@ -422,18 +422,19 @@ public: } // virtual bits - virtual void decode_payload() = 0; - virtual void encode_payload() = 0; + virtual void decode_payload(CephContext *cct) = 0; + virtual void encode_payload(CephContext *cct) = 0; virtual const char *get_type_name() = 0; virtual void print(ostream& out) { out << get_type_name(); } - void encode(); + void encode(CephContext *cct); }; -extern Message *decode_message(ceph_msg_header &header, ceph_msg_footer& footer, - bufferlist& front, bufferlist& middle, bufferlist& data); +extern Message *decode_message(CephContext *cct, ceph_msg_header &header, + ceph_msg_footer& footer, bufferlist& front, + bufferlist& middle, bufferlist& data); inline ostream& operator<<(ostream& out, Message& m) { m.print(out); if (m.get_header().version) @@ -441,7 +442,7 @@ inline ostream& operator<<(ostream& out, Message& m) { return out; } -extern void encode_message(Message *m, bufferlist& bl); -extern Message *decode_message(bufferlist::iterator& bl); +extern void encode_message(CephContext *cct, Message *m, bufferlist& bl); +extern Message *decode_message(CephContext *cct, bufferlist::iterator& bl); #endif diff --git a/src/msg/SimpleMessenger.cc b/src/msg/SimpleMessenger.cc index 1a388cee4b2..ee4d4766df6 100644 --- a/src/msg/SimpleMessenger.cc +++ b/src/msg/SimpleMessenger.cc @@ -1727,7 +1727,7 @@ void SimpleMessenger::Pipe::writer() m->set_connection(connection_state->get()); // encode and copy out of *m - m->encode(); + m->encode(msgr->cct); ldout(msgr->cct,20) << "writer sending " << m->get_seq() << " " << m << dendl; int rc = write_message(m); @@ -1956,7 +1956,7 @@ int SimpleMessenger::Pipe::read_message(Message **pm) ldout(msgr->cct,20) << "reader got " << front.length() << " + " << middle.length() << " + " << data.length() << " byte message" << dendl; - message = decode_message(header, footer, front, middle, data); + message = decode_message(msgr->cct, header, footer, front, middle, data); if (!message) { ret = -EINVAL; goto out_dethrottle; |