summaryrefslogtreecommitdiffstats
path: root/src/messages/MClientSession.h
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-23 16:45:17 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-23 16:45:44 +0000
commit17d6a993fc17d533460c5f40f3908c708e057c18 (patch)
tree1a3bd93e0ecd74fa02f93a528fe2f87e5314c4b5 /src/messages/MClientSession.h
parentReleasing progress-linux version 18.2.2-0progress7.99u1. (diff)
downloadceph-17d6a993fc17d533460c5f40f3908c708e057c18.tar.xz
ceph-17d6a993fc17d533460c5f40f3908c708e057c18.zip
Merging upstream version 18.2.3.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/messages/MClientSession.h')
-rw-r--r--src/messages/MClientSession.h17
1 files changed, 15 insertions, 2 deletions
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: