#define CEPH_MCACHEEXPIRE_H
#include <string_view>
-
-#include "msg/Message.h"
-
#include "mds/mdstypes.h"
+#include "messages/MMDSOp.h"
-class MCacheExpire : public SafeMessage {
+class MCacheExpire : public MMDSOp {
private:
__s32 from;
int get_from() const { return from; }
protected:
- MCacheExpire() : SafeMessage{MSG_MDS_CACHEEXPIRE}, from(-1) {}
+ MCacheExpire() : MMDSOp{MSG_MDS_CACHEEXPIRE}, from(-1) {}
MCacheExpire(int f) :
- SafeMessage{MSG_MDS_CACHEEXPIRE},
+ MMDSOp{MSG_MDS_CACHEEXPIRE},
from(f) { }
~MCacheExpire() override {}
#include <string_view>
-#include "msg/Message.h"
#include "include/filepath.h"
#include "mds/mdstypes.h"
#include "include/ceph_features.h"
+#include "messages/MMDSOp.h"
#include <sys/types.h>
#include <utime.h>
// metadata ops.
-class MClientRequest : public SafeMessage {
+class MClientRequest : public MMDSOp {
private:
static constexpr int HEAD_VERSION = 4;
static constexpr int COMPAT_VERSION = 1;
protected:
// cons
MClientRequest()
- : SafeMessage(CEPH_MSG_CLIENT_REQUEST, HEAD_VERSION, COMPAT_VERSION) {}
+ : MMDSOp(CEPH_MSG_CLIENT_REQUEST, HEAD_VERSION, COMPAT_VERSION) {}
MClientRequest(int op)
- : SafeMessage(CEPH_MSG_CLIENT_REQUEST, HEAD_VERSION, COMPAT_VERSION) {
+ : MMDSOp(CEPH_MSG_CLIENT_REQUEST, HEAD_VERSION, COMPAT_VERSION) {
memset(&head, 0, sizeof(head));
head.op = op;
}
#include <string_view>
-#include "msg/Message.h"
+#include "messages/MMDSOp.h"
-class MDentryLink : public SafeMessage {
+class MDentryLink : public MMDSOp {
private:
- static const int HEAD_VERSION = 1;
- static const int COMPAT_VERSION = 1;
+ static constexpr int HEAD_VERSION = 1;
+ static constexpr int COMPAT_VERSION = 1;
dirfrag_t subtree;
dirfrag_t dirfrag;
protected:
MDentryLink() :
- SafeMessage(MSG_MDS_DENTRYLINK, HEAD_VERSION, COMPAT_VERSION) { }
+ MMDSOp(MSG_MDS_DENTRYLINK, HEAD_VERSION, COMPAT_VERSION) { }
MDentryLink(dirfrag_t r, dirfrag_t df, std::string_view n, bool p) :
- SafeMessage(MSG_MDS_DENTRYLINK, HEAD_VERSION, COMPAT_VERSION),
+ MMDSOp(MSG_MDS_DENTRYLINK, HEAD_VERSION, COMPAT_VERSION),
subtree(r),
dirfrag(df),
dn(n),
#include <string_view>
-#include "msg/Message.h"
+#include "messages/MMDSOp.h"
-class MDentryUnlink : public SafeMessage {
+class MDentryUnlink : public MMDSOp {
private:
- static const int HEAD_VERSION = 1;
- static const int COMPAT_VERSION = 1;
+ static constexpr int HEAD_VERSION = 1;
+ static constexpr int COMPAT_VERSION = 1;
dirfrag_t dirfrag;
std::string dn;
protected:
MDentryUnlink() :
- SafeMessage(MSG_MDS_DENTRYUNLINK, HEAD_VERSION, COMPAT_VERSION) { }
+ MMDSOp(MSG_MDS_DENTRYUNLINK, HEAD_VERSION, COMPAT_VERSION) { }
MDentryUnlink(dirfrag_t df, std::string_view n) :
- SafeMessage(MSG_MDS_DENTRYUNLINK, HEAD_VERSION, COMPAT_VERSION),
+ MMDSOp(MSG_MDS_DENTRYUNLINK, HEAD_VERSION, COMPAT_VERSION),
dirfrag(df),
dn(n) {}
~MDentryUnlink() override {}
#ifndef CEPH_MDIRUPDATE_H
#define CEPH_MDIRUPDATE_H
-#include "msg/Message.h"
+#include "messages/MMDSOp.h"
-class MDirUpdate : public SafeMessage {
+class MDirUpdate : public MMDSOp {
public:
mds_rank_t get_source_mds() const { return from_mds; }
dirfrag_t get_dirfrag() const { return dirfrag; }
protected:
~MDirUpdate() {}
- MDirUpdate() : SafeMessage(MSG_MDS_DIRUPDATE, HEAD_VERSION, COMPAT_VERSION) {}
+ MDirUpdate() : MMDSOp(MSG_MDS_DIRUPDATE, HEAD_VERSION, COMPAT_VERSION) {}
MDirUpdate(mds_rank_t f,
dirfrag_t dirfrag,
int dir_rep,
const std::set<int32_t>& dir_rep_by,
filepath& path,
bool discover = false) :
- SafeMessage(MSG_MDS_DIRUPDATE, HEAD_VERSION, COMPAT_VERSION), from_mds(f), dirfrag(dirfrag),
+ MMDSOp(MSG_MDS_DIRUPDATE, HEAD_VERSION, COMPAT_VERSION), from_mds(f), dirfrag(dirfrag),
dir_rep(dir_rep), dir_rep_by(dir_rep_by), path(path) {
this->discover = discover ? 5 : 0;
}
MDirUpdate(const MDirUpdate& m)
- : SafeMessage{MSG_MDS_DIRUPDATE},
+ : MMDSOp{MSG_MDS_DIRUPDATE},
from_mds(m.from_mds),
dirfrag(m.dirfrag),
dir_rep(m.dir_rep),
mutable int tried_discover = 0; // XXX HACK
private:
- static const int HEAD_VERSION = 1;
- static const int COMPAT_VERSION = 1;
+ static constexpr int HEAD_VERSION = 1;
+ static constexpr int COMPAT_VERSION = 1;
template<class T, typename... Args>
friend boost::intrusive_ptr<T> ceph::make_message(Args&&... args);
};
#ifndef CEPH_MDISCOVER_H
#define CEPH_MDISCOVER_H
-#include "msg/Message.h"
#include "include/filepath.h"
+#include "messages/MMDSOp.h"
#include <string>
-class MDiscover : public SafeMessage {
+class MDiscover : public MMDSOp {
private:
static constexpr int HEAD_VERSION = 1;
static constexpr int COMPAT_VERSION = 1;
void set_base_dir_frag(frag_t f) { base_dir_frag = f; }
protected:
- MDiscover() : SafeMessage(MSG_MDS_DISCOVER, HEAD_VERSION, COMPAT_VERSION) { }
+ MDiscover() : MMDSOp(MSG_MDS_DISCOVER, HEAD_VERSION, COMPAT_VERSION) { }
MDiscover(inodeno_t base_ino_,
frag_t base_frag_,
snapid_t s,
filepath& want_path_,
bool want_base_dir_ = true,
bool path_locked_ = false) :
- SafeMessage{MSG_MDS_DISCOVER},
+ MMDSOp{MSG_MDS_DISCOVER},
base_ino(base_ino_),
base_dir_frag(base_frag_),
snapid(s),
#ifndef CEPH_MDISCOVERREPLY_H
#define CEPH_MDISCOVERREPLY_H
-#include "msg/Message.h"
#include "include/filepath.h"
+#include "messages/MMDSOp.h"
#include <string>
*
*/
-class MDiscoverReply : public SafeMessage {
+class MDiscoverReply : public MMDSOp {
private:
static constexpr int HEAD_VERSION = 2;
static constexpr int COMPAT_VERSION = 2;
void set_base_dir_frag(frag_t df) { base_dir_frag = df; }
protected:
- MDiscoverReply() : SafeMessage{MSG_MDS_DISCOVERREPLY, HEAD_VERSION, COMPAT_VERSION} { }
+ MDiscoverReply() : MMDSOp{MSG_MDS_DISCOVERREPLY, HEAD_VERSION, COMPAT_VERSION} { }
MDiscoverReply(const MDiscover &dis) :
- SafeMessage{MSG_MDS_DISCOVERREPLY, HEAD_VERSION, COMPAT_VERSION},
+ MMDSOp{MSG_MDS_DISCOVERREPLY, HEAD_VERSION, COMPAT_VERSION},
base_ino(dis.get_base_ino()),
base_dir_frag(dis.get_base_dir_frag()),
wanted_base_dir(dis.wants_base_dir()),
header.tid = dis.get_tid();
}
MDiscoverReply(dirfrag_t df) :
- SafeMessage{MSG_MDS_DISCOVERREPLY, HEAD_VERSION, COMPAT_VERSION},
+ MMDSOp{MSG_MDS_DISCOVERREPLY, HEAD_VERSION, COMPAT_VERSION},
base_ino(df.ino),
base_dir_frag(df.frag),
wanted_base_dir(false),
#ifndef CEPH_MEXPORTCAPS_H
#define CEPH_MEXPORTCAPS_H
-#include "msg/Message.h"
+#include "messages/MMDSOp.h"
-
-class MExportCaps : public SafeMessage {
+class MExportCaps : public MMDSOp {
private:
static constexpr int HEAD_VERSION = 2;
static constexpr int COMPAT_VERSION = 1;
protected:
MExportCaps() :
- SafeMessage{MSG_MDS_EXPORTCAPS, HEAD_VERSION, COMPAT_VERSION} {}
+ MMDSOp{MSG_MDS_EXPORTCAPS, HEAD_VERSION, COMPAT_VERSION} {}
~MExportCaps() override {}
public:
#ifndef CEPH_MEXPORTCAPSACK_H
#define CEPH_MEXPORTCAPSACK_H
-#include "msg/Message.h"
+#include "messages/MMDSOp.h"
-
-class MExportCapsAck : public SafeMessage {
+class MExportCapsAck : public MMDSOp {
static constexpr int HEAD_VERSION = 1;
static constexpr int COMPAT_VERSION = 1;
protected:
MExportCapsAck() :
- SafeMessage{MSG_MDS_EXPORTCAPSACK, HEAD_VERSION, COMPAT_VERSION} {}
+ MMDSOp{MSG_MDS_EXPORTCAPSACK, HEAD_VERSION, COMPAT_VERSION} {}
MExportCapsAck(inodeno_t i) :
- SafeMessage{MSG_MDS_EXPORTCAPSACK, HEAD_VERSION, COMPAT_VERSION}, ino(i) {}
+ MMDSOp{MSG_MDS_EXPORTCAPSACK, HEAD_VERSION, COMPAT_VERSION}, ino(i) {}
~MExportCapsAck() override {}
public:
#ifndef CEPH_MEXPORTDIR_H
#define CEPH_MEXPORTDIR_H
-#include "msg/Message.h"
+#include "messages/MMDSOp.h"
-
-class MExportDir : public SafeMessage {
+class MExportDir : public MMDSOp {
public:
dirfrag_t dirfrag;
ceph::buffer::list export_data;
ceph::buffer::list client_map;
protected:
- MExportDir() : SafeMessage{MSG_MDS_EXPORTDIR} {}
+ MExportDir() : MMDSOp{MSG_MDS_EXPORTDIR} {}
MExportDir(dirfrag_t df, uint64_t tid) :
- SafeMessage{MSG_MDS_EXPORTDIR}, dirfrag(df) {
+ MMDSOp{MSG_MDS_EXPORTDIR}, dirfrag(df) {
set_tid(tid);
}
~MExportDir() override {}
#define CEPH_MEXPORTDIRACK_H
#include "MExportDir.h"
-#include "msg/Message.h"
+#include "messages/MMDSOp.h"
-class MExportDirAck : public SafeMessage {
+class MExportDirAck : public MMDSOp {
public:
dirfrag_t dirfrag;
ceph::buffer::list imported_caps;
dirfrag_t get_dirfrag() const { return dirfrag; }
protected:
- MExportDirAck() : SafeMessage{MSG_MDS_EXPORTDIRACK} {}
+ MExportDirAck() : MMDSOp{MSG_MDS_EXPORTDIRACK} {}
MExportDirAck(dirfrag_t df, uint64_t tid) :
- SafeMessage{MSG_MDS_EXPORTDIRACK}, dirfrag(df) {
+ MMDSOp{MSG_MDS_EXPORTDIRACK}, dirfrag(df) {
set_tid(tid);
}
~MExportDirAck() override {}
#ifndef CEPH_MEXPORTDIRCANCEL_H
#define CEPH_MEXPORTDIRCANCEL_H
-#include "msg/Message.h"
#include "include/types.h"
+#include "messages/MMDSOp.h"
-class MExportDirCancel : public SafeMessage {
+class MExportDirCancel : public MMDSOp {
private:
- static const int HEAD_VERSION = 1;
- static const int COMPAT_VERSION = 1;
+ static constexpr int HEAD_VERSION = 1;
+ static constexpr int COMPAT_VERSION = 1;
dirfrag_t dirfrag;
public:
dirfrag_t get_dirfrag() const { return dirfrag; }
protected:
- MExportDirCancel() : SafeMessage{MSG_MDS_EXPORTDIRCANCEL, HEAD_VERSION, COMPAT_VERSION} {}
+ MExportDirCancel() : MMDSOp{MSG_MDS_EXPORTDIRCANCEL, HEAD_VERSION, COMPAT_VERSION} {}
MExportDirCancel(dirfrag_t df, uint64_t tid) :
- SafeMessage{MSG_MDS_EXPORTDIRCANCEL, HEAD_VERSION, COMPAT_VERSION}, dirfrag(df) {
+ MMDSOp{MSG_MDS_EXPORTDIRCANCEL, HEAD_VERSION, COMPAT_VERSION}, dirfrag(df) {
set_tid(tid);
}
~MExportDirCancel() override {}
#ifndef CEPH_MEXPORTDIRDISCOVER_H
#define CEPH_MEXPORTDIRDISCOVER_H
-#include "msg/Message.h"
#include "include/types.h"
+#include "messages/MMDSOp.h"
-class MExportDirDiscover : public SafeMessage {
+class MExportDirDiscover : public MMDSOp {
private:
- static const int HEAD_VERSION = 1;
- static const int COMPAT_VERSION = 1;
+ static constexpr int HEAD_VERSION = 1;
+ static constexpr int COMPAT_VERSION = 1;
mds_rank_t from = -1;
dirfrag_t dirfrag;
filepath path;
protected:
MExportDirDiscover() :
- SafeMessage{MSG_MDS_EXPORTDIRDISCOVER, HEAD_VERSION, COMPAT_VERSION},
+ MMDSOp{MSG_MDS_EXPORTDIRDISCOVER, HEAD_VERSION, COMPAT_VERSION},
started(false) { }
MExportDirDiscover(dirfrag_t df, filepath& p, mds_rank_t f, uint64_t tid) :
- SafeMessage{MSG_MDS_EXPORTDIRDISCOVER, HEAD_VERSION, COMPAT_VERSION},
+ MMDSOp{MSG_MDS_EXPORTDIRDISCOVER, HEAD_VERSION, COMPAT_VERSION},
from(f), dirfrag(df), path(p), started(false) {
set_tid(tid);
}
#ifndef CEPH_MEXPORTDIRDISCOVERACK_H
#define CEPH_MEXPORTDIRDISCOVERACK_H
-#include "msg/Message.h"
#include "include/types.h"
+#include "messages/MMDSOp.h"
-class MExportDirDiscoverAck : public SafeMessage {
+class MExportDirDiscoverAck : public MMDSOp {
private:
- static const int HEAD_VERSION = 1;
- static const int COMPAT_VERSION = 1;
+ static constexpr int HEAD_VERSION = 1;
+ static constexpr int COMPAT_VERSION = 1;
dirfrag_t dirfrag;
bool success;
bool is_success() const { return success; }
protected:
- MExportDirDiscoverAck() : SafeMessage{MSG_MDS_EXPORTDIRDISCOVERACK, HEAD_VERSION, COMPAT_VERSION} {}
+ MExportDirDiscoverAck() : MMDSOp{MSG_MDS_EXPORTDIRDISCOVERACK, HEAD_VERSION, COMPAT_VERSION} {}
MExportDirDiscoverAck(dirfrag_t df, uint64_t tid, bool s=true) :
- SafeMessage{MSG_MDS_EXPORTDIRDISCOVERACK, HEAD_VERSION, COMPAT_VERSION},
+ MMDSOp{MSG_MDS_EXPORTDIRDISCOVERACK, HEAD_VERSION, COMPAT_VERSION},
dirfrag(df), success(s) {
set_tid(tid);
}
#ifndef CEPH_MEXPORTDIRFINISH_H
#define CEPH_MEXPORTDIRFINISH_H
-#include "msg/Message.h"
+#include "messages/MMDSOp.h"
-class MExportDirFinish : public SafeMessage {
+class MExportDirFinish : public MMDSOp {
private:
- static const int HEAD_VERSION = 1;
- static const int COMPAT_VERSION = 1;
+ static constexpr int HEAD_VERSION = 1;
+ static constexpr int COMPAT_VERSION = 1;
dirfrag_t dirfrag;
bool last;
protected:
MExportDirFinish() :
- SafeMessage{MSG_MDS_EXPORTDIRFINISH, HEAD_VERSION, COMPAT_VERSION}, last(false) {}
+ MMDSOp{MSG_MDS_EXPORTDIRFINISH, HEAD_VERSION, COMPAT_VERSION}, last(false) {}
MExportDirFinish(dirfrag_t df, bool l, uint64_t tid) :
- SafeMessage{MSG_MDS_EXPORTDIRFINISH, HEAD_VERSION, COMPAT_VERSION}, dirfrag(df), last(l) {
+ MMDSOp{MSG_MDS_EXPORTDIRFINISH, HEAD_VERSION, COMPAT_VERSION}, dirfrag(df), last(l) {
set_tid(tid);
}
~MExportDirFinish() override {}
#ifndef CEPH_MEXPORTDIRNOTIFY_H
#define CEPH_MEXPORTDIRNOTIFY_H
-#include "msg/Message.h"
+#include "messages/MMDSOp.h"
-class MExportDirNotify : public SafeMessage {
+class MExportDirNotify : public MMDSOp {
private:
- static const int HEAD_VERSION = 1;
- static const int COMPAT_VERSION = 1;
+ static constexpr int HEAD_VERSION = 1;
+ static constexpr int COMPAT_VERSION = 1;
dirfrag_t base;
bool ack;
protected:
MExportDirNotify() :
- SafeMessage{MSG_MDS_EXPORTDIRNOTIFY, HEAD_VERSION, COMPAT_VERSION} {}
+ MMDSOp{MSG_MDS_EXPORTDIRNOTIFY, HEAD_VERSION, COMPAT_VERSION} {}
MExportDirNotify(dirfrag_t i, uint64_t tid, bool a, std::pair<__s32,__s32> oa,
std::pair<__s32,__s32> na) :
- SafeMessage{MSG_MDS_EXPORTDIRNOTIFY, HEAD_VERSION, COMPAT_VERSION},
+ MMDSOp{MSG_MDS_EXPORTDIRNOTIFY, HEAD_VERSION, COMPAT_VERSION},
base(i), ack(a), old_auth(oa), new_auth(na) {
set_tid(tid);
}
#ifndef CEPH_MEXPORTDIRNOTIFYACK_H
#define CEPH_MEXPORTDIRNOTIFYACK_H
-#include "msg/Message.h"
+#include "messages/MMDSOp.h"
-class MExportDirNotifyAck : public SafeMessage {
+class MExportDirNotifyAck : public MMDSOp {
private:
- static const int HEAD_VERSION = 1;
- static const int COMPAT_VERSION = 1;
+ static constexpr int HEAD_VERSION = 1;
+ static constexpr int COMPAT_VERSION = 1;
dirfrag_t dirfrag;
std::pair<__s32,__s32> new_auth;
protected:
MExportDirNotifyAck() :
- SafeMessage{MSG_MDS_EXPORTDIRNOTIFYACK, HEAD_VERSION, COMPAT_VERSION} {}
+ MMDSOp{MSG_MDS_EXPORTDIRNOTIFYACK, HEAD_VERSION, COMPAT_VERSION} {}
MExportDirNotifyAck(dirfrag_t df, uint64_t tid, std::pair<__s32,__s32> na) :
- SafeMessage{MSG_MDS_EXPORTDIRNOTIFYACK, HEAD_VERSION, COMPAT_VERSION}, dirfrag(df), new_auth(na) {
+ MMDSOp{MSG_MDS_EXPORTDIRNOTIFYACK, HEAD_VERSION, COMPAT_VERSION}, dirfrag(df), new_auth(na) {
set_tid(tid);
}
~MExportDirNotifyAck() override {}
#ifndef CEPH_MEXPORTDIRPREP_H
#define CEPH_MEXPORTDIRPREP_H
-#include "msg/Message.h"
#include "include/types.h"
+#include "messages/MMDSOp.h"
-class MExportDirPrep : public SafeMessage {
+class MExportDirPrep : public MMDSOp {
private:
- static const int HEAD_VERSION = 1;
- static const int COMPAT_VERSION = 1;
+ static constexpr int HEAD_VERSION = 1;
+ static constexpr int COMPAT_VERSION = 1;
dirfrag_t dirfrag;
public:
protected:
MExportDirPrep() = default;
MExportDirPrep(dirfrag_t df, uint64_t tid) :
- SafeMessage{MSG_MDS_EXPORTDIRPREP, HEAD_VERSION, COMPAT_VERSION},
+ MMDSOp{MSG_MDS_EXPORTDIRPREP, HEAD_VERSION, COMPAT_VERSION},
dirfrag(df)
{
set_tid(tid);
#ifndef CEPH_MEXPORTDIRPREPACK_H
#define CEPH_MEXPORTDIRPREPACK_H
-#include "msg/Message.h"
#include "include/types.h"
+#include "messages/MMDSOp.h"
-class MExportDirPrepAck : public SafeMessage {
+class MExportDirPrepAck : public MMDSOp {
private:
- static const int HEAD_VERSION = 1;
- static const int COMPAT_VERSION = 1;
+ static constexpr int HEAD_VERSION = 1;
+ static constexpr int COMPAT_VERSION = 1;
dirfrag_t dirfrag;
bool success = false;
protected:
MExportDirPrepAck() :
- SafeMessage{MSG_MDS_EXPORTDIRPREPACK, HEAD_VERSION, COMPAT_VERSION} {}
+ MMDSOp{MSG_MDS_EXPORTDIRPREPACK, HEAD_VERSION, COMPAT_VERSION} {}
MExportDirPrepAck(dirfrag_t df, bool s, uint64_t tid) :
- SafeMessage{MSG_MDS_EXPORTDIRPREPACK, HEAD_VERSION, COMPAT_VERSION}, dirfrag(df), success(s) {
+ MMDSOp{MSG_MDS_EXPORTDIRPREPACK, HEAD_VERSION, COMPAT_VERSION}, dirfrag(df), success(s) {
set_tid(tid);
}
~MExportDirPrepAck() override {}
#ifndef CEPH_MGATHERCAPS_H
#define CEPH_MGATHERCAPS_H
-#include "msg/Message.h"
+#include "messages/MMDSOp.h"
-class MGatherCaps : public Message {
+class MGatherCaps : public MMDSOp {
static constexpr int HEAD_VERSION = 1;
static constexpr int COMPAT_VERSION = 1;
protected:
MGatherCaps() :
- Message{MSG_MDS_GATHERCAPS, HEAD_VERSION, COMPAT_VERSION} {}
+ MMDSOp{MSG_MDS_GATHERCAPS, HEAD_VERSION, COMPAT_VERSION} {}
~MGatherCaps() override {}
public:
#define CEPH_MHEARTBEAT_H
#include "include/types.h"
-#include "msg/Message.h"
#include "common/DecayCounter.h"
+#include "messages/MMDSOp.h"
-class MHeartbeat : public Message {
+class MHeartbeat : public MMDSOp {
private:
mds_load_t load;
__s32 beat = 0;
std::map<mds_rank_t, float>& get_import_map() { return import_map; }
protected:
- MHeartbeat() : Message(MSG_MDS_HEARTBEAT), load(DecayRate()) {}
+ MHeartbeat() : MMDSOp(MSG_MDS_HEARTBEAT), load(DecayRate()) {}
MHeartbeat(mds_load_t& load, int beat)
- : Message(MSG_MDS_HEARTBEAT),
+ : MMDSOp(MSG_MDS_HEARTBEAT),
load(load),
beat(beat)
{}
#ifndef CEPH_MINODEFILECAPS_H
#define CEPH_MINODEFILECAPS_H
-#include "msg/Message.h"
+#include "messages/MMDSOp.h"
-class MInodeFileCaps : public SafeMessage {
+class MInodeFileCaps : public MMDSOp {
private:
static constexpr int HEAD_VERSION = 1;
static constexpr int COMPAT_VERSION = 1;
int get_caps() const { return caps; }
protected:
- MInodeFileCaps() : SafeMessage(MSG_MDS_INODEFILECAPS, HEAD_VERSION, COMPAT_VERSION) {}
+ MInodeFileCaps() : MMDSOp(MSG_MDS_INODEFILECAPS, HEAD_VERSION, COMPAT_VERSION) {}
MInodeFileCaps(inodeno_t ino, int caps) :
- SafeMessage(MSG_MDS_INODEFILECAPS, HEAD_VERSION, COMPAT_VERSION) {
+ MMDSOp(MSG_MDS_INODEFILECAPS, HEAD_VERSION, COMPAT_VERSION) {
this->ino = ino;
this->caps = caps;
}
#ifndef CEPH_MLOCK_H
#define CEPH_MLOCK_H
-#include "msg/Message.h"
#include "mds/locks.h"
#include "mds/SimpleLock.h"
+#include "messages/MMDSOp.h"
-class MLock : public SafeMessage {
+class MLock : public MMDSOp {
private:
- static const int HEAD_VERSION = 1;
- static const int COMPAT_VERSION = 1;
+ static constexpr int HEAD_VERSION = 1;
+ static constexpr int COMPAT_VERSION = 1;
int32_t action = 0; // action type
mds_rank_t asker = 0; // who is initiating this request
MDSCacheObjectInfo &get_object_info() { return object_info; }
protected:
- MLock() : SafeMessage{MSG_MDS_LOCK, HEAD_VERSION, COMPAT_VERSION} {}
+ MLock() : MMDSOp{MSG_MDS_LOCK, HEAD_VERSION, COMPAT_VERSION} {}
MLock(int ac, mds_rank_t as) :
- SafeMessage{MSG_MDS_LOCK, HEAD_VERSION, COMPAT_VERSION},
+ MMDSOp{MSG_MDS_LOCK, HEAD_VERSION, COMPAT_VERSION},
action(ac), asker(as),
lock_type(0) { }
MLock(SimpleLock *lock, int ac, mds_rank_t as) :
- SafeMessage{MSG_MDS_LOCK, HEAD_VERSION, COMPAT_VERSION},
+ MMDSOp{MSG_MDS_LOCK, HEAD_VERSION, COMPAT_VERSION},
action(ac), asker(as),
lock_type(lock->get_type()) {
lock->get_parent()->set_object_info(object_info);
}
MLock(SimpleLock *lock, int ac, mds_rank_t as, ceph::buffer::list& bl) :
- SafeMessage{MSG_MDS_LOCK, HEAD_VERSION, COMPAT_VERSION},
+ MMDSOp{MSG_MDS_LOCK, HEAD_VERSION, COMPAT_VERSION},
action(ac), asker(as), lock_type(lock->get_type()) {
lock->get_parent()->set_object_info(object_info);
lockdata.claim(bl);
#define CEPH_MMDSCACHEREJOIN_H
#include <string_view>
-
-#include "msg/Message.h"
-
#include "include/types.h"
-
#include "mds/CInode.h"
#include "mds/CDir.h"
#include "mds/mdstypes.h"
+#include "messages/MMDSOp.h"
// sent from replica to auth
-class MMDSCacheRejoin : public SafeMessage {
+class MMDSCacheRejoin : public MMDSOp {
public:
static constexpr int OP_WEAK = 1; // replica -> auth, i exist, + maybe open files.
static constexpr int OP_STRONG = 2; // replica -> auth, i exist, + open files and lock state.
static constexpr int COMPAT_VERSION = 1;
MMDSCacheRejoin(int o) : MMDSCacheRejoin() { op = o; }
- MMDSCacheRejoin() : SafeMessage{MSG_MDS_CACHEREJOIN, HEAD_VERSION, COMPAT_VERSION} {}
+ MMDSCacheRejoin() : MMDSOp{MSG_MDS_CACHEREJOIN, HEAD_VERSION, COMPAT_VERSION} {}
~MMDSCacheRejoin() override {}
};
#ifndef CEPH_MDSFINDINO_H
#define CEPH_MDSFINDINO_H
-#include "msg/Message.h"
#include "include/filepath.h"
+#include "messages/MMDSOp.h"
-class MMDSFindIno : public SafeMessage {
- static const int HEAD_VERSION = 1;
- static const int COMPAT_VERSION = 1;
+class MMDSFindIno : public MMDSOp {
+ static constexpr int HEAD_VERSION = 1;
+ static constexpr int COMPAT_VERSION = 1;
public:
ceph_tid_t tid {0};
inodeno_t ino;
protected:
- MMDSFindIno() : SafeMessage{MSG_MDS_FINDINO, HEAD_VERSION, COMPAT_VERSION} {}
- MMDSFindIno(ceph_tid_t t, inodeno_t i) : SafeMessage{MSG_MDS_FINDINO, HEAD_VERSION, COMPAT_VERSION}, tid(t), ino(i) {}
+ MMDSFindIno() : MMDSOp{MSG_MDS_FINDINO, HEAD_VERSION, COMPAT_VERSION} {}
+ MMDSFindIno(ceph_tid_t t, inodeno_t i) : MMDSOp{MSG_MDS_FINDINO, HEAD_VERSION, COMPAT_VERSION}, tid(t), ino(i) {}
~MMDSFindIno() override {}
public:
#ifndef CEPH_MDSFINDINOREPLY_H
#define CEPH_MDSFINDINOREPLY_H
-#include "msg/Message.h"
#include "include/filepath.h"
+#include "messages/MMDSOp.h"
-class MMDSFindInoReply : public SafeMessage {
- static const int HEAD_VERSION = 1;
- static const int COMPAT_VERSION = 1;
+class MMDSFindInoReply : public MMDSOp {
+ static constexpr int HEAD_VERSION = 1;
+ static constexpr int COMPAT_VERSION = 1;
public:
ceph_tid_t tid = 0;
filepath path;
protected:
- MMDSFindInoReply() : SafeMessage{MSG_MDS_FINDINOREPLY, HEAD_VERSION, COMPAT_VERSION} {}
- MMDSFindInoReply(ceph_tid_t t) : SafeMessage{MSG_MDS_FINDINOREPLY, HEAD_VERSION, COMPAT_VERSION}, tid(t) {}
+ MMDSFindInoReply() : MMDSOp{MSG_MDS_FINDINOREPLY, HEAD_VERSION, COMPAT_VERSION} {}
+ MMDSFindInoReply(ceph_tid_t t) : MMDSOp{MSG_MDS_FINDINOREPLY, HEAD_VERSION, COMPAT_VERSION}, tid(t) {}
~MMDSFindInoReply() override {}
public:
#ifndef CEPH_MMDSFRAGMENTNOTIFY_H
#define CEPH_MMDSFRAGMENTNOTIFY_H
-#include "msg/Message.h"
+#include "messages/MMDSOp.h"
-class MMDSFragmentNotify : public SafeMessage {
+class MMDSFragmentNotify : public MMDSOp {
private:
static constexpr int HEAD_VERSION = 2;
static constexpr int COMPAT_VERSION = 1;
protected:
MMDSFragmentNotify() :
- SafeMessage{MSG_MDS_FRAGMENTNOTIFY, HEAD_VERSION, COMPAT_VERSION} {}
+ MMDSOp{MSG_MDS_FRAGMENTNOTIFY, HEAD_VERSION, COMPAT_VERSION} {}
MMDSFragmentNotify(dirfrag_t df, int b, uint64_t tid) :
- SafeMessage{MSG_MDS_FRAGMENTNOTIFY, HEAD_VERSION, COMPAT_VERSION},
+ MMDSOp{MSG_MDS_FRAGMENTNOTIFY, HEAD_VERSION, COMPAT_VERSION},
base_dirfrag(df), bits(b) {
set_tid(tid);
}
#ifndef CEPH_MMDSFRAGMENTNOTIFYAck_H
#define CEPH_MMDSFRAGMENTNOTIFYAck_H
-#include "msg/Message.h"
+#include "messages/MMDSOp.h"
-class MMDSFragmentNotifyAck : public SafeMessage {
+class MMDSFragmentNotifyAck : public MMDSOp {
private:
dirfrag_t base_dirfrag;
int8_t bits = 0;
ceph::buffer::list basebl;
protected:
- MMDSFragmentNotifyAck() : SafeMessage{MSG_MDS_FRAGMENTNOTIFYACK} {}
+ MMDSFragmentNotifyAck() : MMDSOp{MSG_MDS_FRAGMENTNOTIFYACK} {}
MMDSFragmentNotifyAck(dirfrag_t df, int b, uint64_t tid) :
- SafeMessage{MSG_MDS_FRAGMENTNOTIFYACK},
+ MMDSOp{MSG_MDS_FRAGMENTNOTIFYACK},
base_dirfrag(df), bits(b) {
set_tid(tid);
}
#ifndef CEPH_MDSOPENINO_H
#define CEPH_MDSOPENINO_H
-#include "msg/Message.h"
+#include "messages/MMDSOp.h"
-class MMDSOpenIno : public SafeMessage {
- static const int HEAD_VERSION = 1;
- static const int COMPAT_VERSION = 1;
+class MMDSOpenIno : public MMDSOp {
+ static constexpr int HEAD_VERSION = 1;
+ static constexpr int COMPAT_VERSION = 1;
public:
inodeno_t ino;
std::vector<inode_backpointer_t> ancestors;
protected:
- MMDSOpenIno() : SafeMessage{MSG_MDS_OPENINO, HEAD_VERSION, COMPAT_VERSION} {}
+ MMDSOpenIno() : MMDSOp{MSG_MDS_OPENINO, HEAD_VERSION, COMPAT_VERSION} {}
MMDSOpenIno(ceph_tid_t t, inodeno_t i, std::vector<inode_backpointer_t>* pa) :
- SafeMessage{MSG_MDS_OPENINO, HEAD_VERSION, COMPAT_VERSION}, ino(i) {
+ MMDSOp{MSG_MDS_OPENINO, HEAD_VERSION, COMPAT_VERSION}, ino(i) {
header.tid = t;
if (pa)
ancestors = *pa;
#ifndef CEPH_MDSOPENINOREPLY_H
#define CEPH_MDSOPENINOREPLY_H
-#include "msg/Message.h"
+#include "messages/MMDSOp.h"
-class MMDSOpenInoReply : public SafeMessage {
+class MMDSOpenInoReply : public MMDSOp {
public:
- static const int HEAD_VERSION = 1;
- static const int COMPAT_VERSION = 1;
+ static constexpr int HEAD_VERSION = 1;
+ static constexpr int COMPAT_VERSION = 1;
inodeno_t ino;
std::vector<inode_backpointer_t> ancestors;
mds_rank_t hint;
int32_t error;
protected:
- MMDSOpenInoReply() : SafeMessage{MSG_MDS_OPENINOREPLY, HEAD_VERSION, COMPAT_VERSION}, error(0) {}
+ MMDSOpenInoReply() : MMDSOp{MSG_MDS_OPENINOREPLY, HEAD_VERSION, COMPAT_VERSION}, error(0) {}
MMDSOpenInoReply(ceph_tid_t t, inodeno_t i, mds_rank_t h=MDS_RANK_NONE, int e=0) :
- SafeMessage{MSG_MDS_OPENINOREPLY, HEAD_VERSION, COMPAT_VERSION}, ino(i), hint(h), error(e) {
+ MMDSOp{MSG_MDS_OPENINOREPLY, HEAD_VERSION, COMPAT_VERSION}, ino(i), hint(h), error(e) {
header.tid = t;
}
#ifndef CEPH_MMDSRESOLVE_H
#define CEPH_MMDSRESOLVE_H
-#include "msg/Message.h"
-
#include "include/types.h"
-
#include "mds/Capability.h"
+#include "messages/MMDSOp.h"
-class MMDSResolve : public SafeMessage {
- static const int HEAD_VERSION = 1;
- static const int COMPAT_VERSION = 1;
+class MMDSResolve : public MMDSOp {
+ static constexpr int HEAD_VERSION = 1;
+ static constexpr int COMPAT_VERSION = 1;
public:
std::map<dirfrag_t, std::vector<dirfrag_t>> subtrees;
std::list<table_client> table_clients;
protected:
- MMDSResolve() : SafeMessage{MSG_MDS_RESOLVE, HEAD_VERSION, COMPAT_VERSION}
+ MMDSResolve() : MMDSOp{MSG_MDS_RESOLVE, HEAD_VERSION, COMPAT_VERSION}
{}
~MMDSResolve() override {}
#ifndef CEPH_MMDSRESOLVEACK_H
#define CEPH_MMDSRESOLVEACK_H
-#include "msg/Message.h"
-
#include "include/types.h"
+#include "messages/MMDSOp.h"
-class MMDSResolveAck : public SafeMessage {
- static const int HEAD_VERSION = 1;
- static const int COMPAT_VERSION = 1;
+class MMDSResolveAck : public MMDSOp {
+ static constexpr int HEAD_VERSION = 1;
+ static constexpr int COMPAT_VERSION = 1;
public:
std::map<metareqid_t, ceph::buffer::list> commit;
std::vector<metareqid_t> abort;
protected:
- MMDSResolveAck() : SafeMessage{MSG_MDS_RESOLVEACK, HEAD_VERSION, COMPAT_VERSION} {}
+ MMDSResolveAck() : MMDSOp{MSG_MDS_RESOLVEACK, HEAD_VERSION, COMPAT_VERSION} {}
~MMDSResolveAck() override {}
public:
#ifndef CEPH_MMDSSLAVEREQUEST_H
#define CEPH_MMDSSLAVEREQUEST_H
-#include "msg/Message.h"
#include "mds/mdstypes.h"
+#include "messages/MMDSOp.h"
-class MMDSSlaveRequest : public SafeMessage {
+class MMDSSlaveRequest : public MMDSOp {
static constexpr int HEAD_VERSION = 1;
static constexpr int COMPAT_VERSION = 1;
public:
ceph::buffer::list& get_lock_data() { return inode_export; }
protected:
- MMDSSlaveRequest() : SafeMessage{MSG_MDS_SLAVE_REQUEST, HEAD_VERSION, COMPAT_VERSION} { }
+ MMDSSlaveRequest() : MMDSOp{MSG_MDS_SLAVE_REQUEST, HEAD_VERSION, COMPAT_VERSION} { }
MMDSSlaveRequest(metareqid_t ri, __u32 att, int o) :
- SafeMessage{MSG_MDS_SLAVE_REQUEST, HEAD_VERSION, COMPAT_VERSION},
+ MMDSOp{MSG_MDS_SLAVE_REQUEST, HEAD_VERSION, COMPAT_VERSION},
reqid(ri), attempt(att), op(o), flags(0), lock_type(0),
inode_export_v(0), srcdn_auth(MDS_RANK_NONE) { }
~MMDSSlaveRequest() override {}
#ifndef CEPH_MMDSSNAPUPDATE_H
#define CEPH_MMDSSNAPUPDATE_H
-#include "msg/Message.h"
+#include "messages/MMDSOp.h"
-class MMDSSnapUpdate : public SafeMessage {
+class MMDSSnapUpdate : public MMDSOp {
private:
inodeno_t ino;
__s16 snap_op;
ceph::buffer::list snap_blob;
protected:
- MMDSSnapUpdate() : SafeMessage{MSG_MDS_SNAPUPDATE} {}
+ MMDSSnapUpdate() : MMDSOp{MSG_MDS_SNAPUPDATE} {}
MMDSSnapUpdate(inodeno_t i, version_t tid, int op) :
- SafeMessage{MSG_MDS_SNAPUPDATE}, ino(i), snap_op(op) {
+ MMDSOp{MSG_MDS_SNAPUPDATE}, ino(i), snap_op(op) {
set_tid(tid);
}
~MMDSSnapUpdate() override {}
#ifndef CEPH_MMDSTABLEREQUEST_H
#define CEPH_MMDSTABLEREQUEST_H
-#include "msg/Message.h"
#include "mds/mds_table_types.h"
+#include "messages/MMDSOp.h"
-class MMDSTableRequest : public SafeMessage {
+class MMDSTableRequest : public MMDSOp {
public:
__u16 table = 0;
__s16 op = 0;
ceph::buffer::list bl;
protected:
- MMDSTableRequest() : SafeMessage{MSG_MDS_TABLE_REQUEST} {}
+ MMDSTableRequest() : MMDSOp{MSG_MDS_TABLE_REQUEST} {}
MMDSTableRequest(int tab, int o, uint64_t r, version_t v=0) :
- SafeMessage{MSG_MDS_TABLE_REQUEST},
+ MMDSOp{MSG_MDS_TABLE_REQUEST},
table(tab), op(o), reqid(r) {
set_tid(v);
}