summaryrefslogtreecommitdiffstats
path: root/src/messages
diff options
context:
space:
mode:
Diffstat (limited to 'src/messages')
-rw-r--r--src/messages/MClientCaps.h2
-rw-r--r--src/messages/MClientSession.h17
-rw-r--r--src/messages/MMDSBeacon.h4
-rw-r--r--src/messages/MMDSScrub.h4
-rw-r--r--src/messages/MMDSScrubStats.h2
-rw-r--r--src/messages/MOSDOp.h2
6 files changed, 24 insertions, 7 deletions
diff --git a/src/messages/MClientCaps.h b/src/messages/MClientCaps.h
index 9d343a4af..96b2cb7d8 100644
--- a/src/messages/MClientCaps.h
+++ b/src/messages/MClientCaps.h
@@ -57,7 +57,7 @@ private:
uint32_t caller_gid = 0;
/* advisory CLIENT_CAPS_* flags to send to mds */
- unsigned flags = 0;
+ uint32_t flags = 0;
std::vector<uint8_t> fscrypt_auth;
std::vector<uint8_t> fscrypt_file;
diff --git a/src/messages/MClientSession.h b/src/messages/MClientSession.h
index 7ce165870..37b3fc1d0 100644
--- a/src/messages/MClientSession.h
+++ b/src/messages/MClientSession.h
@@ -15,22 +15,25 @@
#ifndef CEPH_MCLIENTSESSION_H
#define CEPH_MCLIENTSESSION_H
+#include "mds/MDSAuthCaps.h"
#include "msg/Message.h"
#include "mds/mdstypes.h"
class MClientSession final : public SafeMessage {
private:
- static constexpr int HEAD_VERSION = 5;
+ static constexpr int HEAD_VERSION = 7;
static constexpr int COMPAT_VERSION = 1;
public:
ceph_mds_session_head head;
static constexpr unsigned SESSION_BLOCKLISTED = (1<<0);
- unsigned flags = 0;
+ uint32_t flags = 0;
std::map<std::string, std::string> metadata;
feature_bitset_t supported_features;
metric_spec_t metric_spec;
+ std::vector<MDSCapAuth> cap_auths;
+ ceph_tid_t oldest_client_tid = UINT64_MAX;
int get_op() const { return head.op; }
version_t get_seq() const { return head.seq; }
@@ -64,6 +67,8 @@ public:
out << " seq " << get_seq();
if (get_op() == CEPH_SESSION_RECALL_STATE)
out << " max_caps " << head.max_caps << " max_leases " << head.max_leases;
+ if (!cap_auths.empty())
+ out << " cap_auths " << cap_auths;
out << ")";
}
@@ -81,6 +86,12 @@ public:
if (header.version >= 5) {
decode(flags, p);
}
+ if (header.version >= 6) {
+ decode(cap_auths, p);
+ }
+ if (header.version >= 7) {
+ decode(oldest_client_tid, p);
+ }
}
void encode_payload(uint64_t features) override {
using ceph::encode;
@@ -96,6 +107,8 @@ public:
encode(supported_features, payload);
encode(metric_spec, payload);
encode(flags, payload);
+ encode(cap_auths, payload);
+ encode(oldest_client_tid, payload);
}
}
private:
diff --git a/src/messages/MMDSBeacon.h b/src/messages/MMDSBeacon.h
index f2fa150be..d843b0e76 100644
--- a/src/messages/MMDSBeacon.h
+++ b/src/messages/MMDSBeacon.h
@@ -45,6 +45,7 @@ enum mds_metric_t {
MDS_HEALTH_SLOW_REQUEST,
MDS_HEALTH_CACHE_OVERSIZED,
MDS_HEALTH_SLOW_METADATA_IO,
+ MDS_HEALTH_CLIENTS_LAGGY,
MDS_HEALTH_DUMMY, // not a real health warning, for testing
};
@@ -63,6 +64,7 @@ inline const char *mds_metric_name(mds_metric_t m)
case MDS_HEALTH_SLOW_REQUEST: return "MDS_SLOW_REQUEST";
case MDS_HEALTH_CACHE_OVERSIZED: return "MDS_CACHE_OVERSIZED";
case MDS_HEALTH_SLOW_METADATA_IO: return "MDS_SLOW_METADATA_IO";
+ case MDS_HEALTH_CLIENTS_LAGGY: return "MDS_CLIENTS_LAGGY";
case MDS_HEALTH_DUMMY: return "MDS_DUMMY";
default:
return "???";
@@ -97,6 +99,8 @@ inline const char *mds_metric_summary(mds_metric_t m)
return "%num% MDSs report oversized cache";
case MDS_HEALTH_SLOW_METADATA_IO:
return "%num% MDSs report slow metadata IOs";
+ case MDS_HEALTH_CLIENTS_LAGGY:
+ return "%num% client(s) laggy due to laggy OSDs";
default:
return "???";
}
diff --git a/src/messages/MMDSScrub.h b/src/messages/MMDSScrub.h
index a1bf2b54f..7714b3776 100644
--- a/src/messages/MMDSScrub.h
+++ b/src/messages/MMDSScrub.h
@@ -130,11 +130,11 @@ private:
static constexpr unsigned FLAG_RECURSIVE = 1<<2;
static constexpr unsigned FLAG_REPAIR = 1<<3;
- int op;
+ int32_t op;
inodeno_t ino;
fragset_t frags;
std::string tag;
inodeno_t origin;
- unsigned flags = 0;
+ uint32_t flags = 0;
};
#endif // CEPH_MMDSSCRUB_H
diff --git a/src/messages/MMDSScrubStats.h b/src/messages/MMDSScrubStats.h
index c60981be5..2cbb7f2f2 100644
--- a/src/messages/MMDSScrubStats.h
+++ b/src/messages/MMDSScrubStats.h
@@ -68,7 +68,7 @@ protected:
~MMDSScrubStats() override {}
private:
- unsigned epoch;
+ uint32_t epoch;
std::set<std::string> scrubbing_tags;
bool update_scrubbing = false;
bool aborting = false;
diff --git a/src/messages/MOSDOp.h b/src/messages/MOSDOp.h
index 97432d118..b5de1936b 100644
--- a/src/messages/MOSDOp.h
+++ b/src/messages/MOSDOp.h
@@ -178,7 +178,7 @@ public:
partial_decode_needed(true),
final_decode_needed(true),
bdata_encode(false) { }
- MOSDOp(int inc, long tid, const hobject_t& ho, spg_t& _pgid,
+ MOSDOp(int inc, ceph_tid_t tid, const hobject_t& ho, spg_t& _pgid,
epoch_t _osdmap_epoch,
int _flags, uint64_t feat)
: MOSDFastDispatchOp(CEPH_MSG_OSD_OP, HEAD_VERSION, COMPAT_VERSION),