summaryrefslogtreecommitdiffstats
path: root/src/mds/Server.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mds/Server.h')
-rw-r--r--src/mds/Server.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/mds/Server.h b/src/mds/Server.h
index 81a5933ba..47f86518b 100644
--- a/src/mds/Server.h
+++ b/src/mds/Server.h
@@ -158,7 +158,9 @@ public:
void force_clients_readonly();
// -- requests --
+ void trim_completed_request_list(ceph_tid_t tid, Session *session);
void handle_client_request(const cref_t<MClientRequest> &m);
+ void handle_client_reply(const cref_t<MClientReply> &m);
void journal_and_reply(MDRequestRef& mdr, CInode *tracei, CDentry *tracedn,
LogEvent *le, MDSLogContextBase *fin);
@@ -235,6 +237,9 @@ public:
void handle_client_removexattr(MDRequestRef& mdr);
void handle_client_fsync(MDRequestRef& mdr);
+
+ // check layout
+ bool is_valid_layout(file_layout_t *layout);
// open
void handle_client_open(MDRequestRef& mdr);
@@ -328,6 +333,13 @@ public:
std::set<client_t> client_reclaim_gather;
+ std::set<client_t> get_laggy_clients() const {
+ return laggy_clients;
+ }
+ void clear_laggy_clients() {
+ laggy_clients.clear();
+ }
+
const bufferlist& get_snap_trace(Session *session, SnapRealm *realm) const;
const bufferlist& get_snap_trace(client_t client, SnapRealm *realm) const;
@@ -553,6 +565,9 @@ private:
size_t alternate_name_max = g_conf().get_val<Option::size_t>("mds_alternate_name_max");
size_t fscrypt_last_block_max_size = g_conf().get_val<Option::size_t>("mds_fscrypt_last_block_max_size");
+
+ // record laggy clients due to laggy OSDs
+ std::set<client_t> laggy_clients;
};
static inline constexpr auto operator|(Server::RecallFlags a, Server::RecallFlags b) {