Prepare for eliminating the header dependency on MDSContext.h.
Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
#include "MDLog.h"
#include "MDSRank.h"
#include "MDSMap.h"
+#include "RetryMessage.h"
+#include "RetryRequest.h"
#include "SimpleLock.h"
#include "SnapRealm.h"
#include "messages/MClientCaps.h"
*/
#include "MDBalancer.h"
+#include "RetryMessage.h"
#include "include/compat.h"
#include "mdstypes.h"
*/
#include "MDCache.h"
+#include "RetryMessage.h"
+#include "RetryRequest.h"
#include <errno.h>
std::chrono::milliseconds quiesce_sleep;
};
-class C_MDS_RetryRequest : public MDSInternalContext {
- MDCache *cache;
- MDRequestRef mdr;
- public:
- C_MDS_RetryRequest(MDCache *c, const MDRequestRef& r) :
- MDSInternalContext(c->mds), cache(c), mdr(r) {}
- void finish(int r) override;
-};
-
-class CF_MDS_RetryRequestFactory : public MDSContextFactory {
-public:
- CF_MDS_RetryRequestFactory(MDCache *cache, const MDRequestRef& mdr, bool dl) :
- mdcache(cache), mdr(mdr), drop_locks(dl) {}
- MDSContext *build() override;
-private:
- MDCache *mdcache;
- MDRequestRef mdr;
- bool drop_locks;
-};
-
/**
* Only for contexts called back from an I/O completion
*
std::atomic_bool m_is_active = false; /* accessed outside mds_lock */
};
-class C_MDS_RetryMessage : public MDSInternalContext {
-public:
- C_MDS_RetryMessage(MDSRank *mds, const cref_t<Message> &m)
- : MDSInternalContext(mds), m(m) {}
- void finish(int r) override {
- get_mds()->retry_dispatch(m);
- }
-protected:
- cref_t<Message> m;
-};
-
-class CF_MDS_RetryMessageFactory : public MDSContextFactory {
-public:
- CF_MDS_RetryMessageFactory(MDSRank *mds, const cref_t<Message> &m)
- : mds(mds), m(m) {}
-
- MDSContext *build() {
- return new C_MDS_RetryMessage(mds, m);
- }
-private:
- MDSRank *mds;
- cref_t<Message> m;
-};
-
/**
* The aspect of MDSRank exposed to MDSDaemon but not subsystems: i.e.
* the service/dispatcher stuff like init/shutdown that subsystems should
#include "MDSMap.h"
#include "MDSContext.h"
+#include "RetryMessage.h"
#include "msg/Messenger.h"
#include "messages/MMDSTableRequest.h"
#include "CDir.h"
#include "CDentry.h"
#include "Locker.h"
+#include "RetryMessage.h"
#include "Server.h"
#include "MDBalancer.h"
--- /dev/null
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2015 Red Hat
+ *
+ * This is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software
+ * Foundation. See file COPYING.
+ *
+ */
+
+#pragma once
+
+#include "MDSContext.h"
+#include "MDSRank.h"
+#include "msg/Message.h"
+
+class C_MDS_RetryMessage : public MDSInternalContext {
+public:
+ C_MDS_RetryMessage(MDSRank *mds, const cref_t<Message> &m)
+ : MDSInternalContext(mds), m(m) {}
+ void finish(int r) override {
+ get_mds()->retry_dispatch(m);
+ }
+protected:
+ cref_t<Message> m;
+};
+
+class CF_MDS_RetryMessageFactory : public MDSContextFactory {
+public:
+ CF_MDS_RetryMessageFactory(MDSRank *mds, const cref_t<Message> &m)
+ : mds(mds), m(m) {}
+
+ MDSContext *build() {
+ return new C_MDS_RetryMessage(mds, m);
+ }
+private:
+ MDSRank *mds;
+ cref_t<Message> m;
+};
--- /dev/null
+// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
+// vim: ts=8 sw=2 smarttab
+/*
+ * Ceph - scalable distributed file system
+ *
+ * Copyright (C) 2004-2006 Sage Weil <sage@newdream.net>
+ *
+ * This is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software
+ * Foundation. See file COPYING.
+ *
+ */
+
+#pragma once
+
+#include "MDCache.h"
+#include "MDSContext.h"
+
+class C_MDS_RetryRequest : public MDSInternalContext {
+ MDCache *cache;
+ MDRequestRef mdr;
+ public:
+ C_MDS_RetryRequest(MDCache *c, const MDRequestRef& r) :
+ MDSInternalContext(c->mds), cache(c), mdr(r) {}
+ void finish(int r) override;
+};
+
+class CF_MDS_RetryRequestFactory : public MDSContextFactory {
+public:
+ CF_MDS_RetryRequestFactory(MDCache *cache, const MDRequestRef& mdr, bool dl) :
+ mdcache(cache), mdr(mdr), drop_locks(dl) {}
+ MDSContext *build() override;
+private:
+ MDCache *mdcache;
+ MDRequestRef mdr;
+ bool drop_locks;
+};
#include "ScrubStack.h"
#include "CDir.h"
+#include "RetryMessage.h"
#include "SnapRealm.h"
#include "common/debug.h"
#include "common/Formatter.h"
*/
#include "Server.h"
+#include "RetryMessage.h"
+#include "RetryRequest.h"
#include "BatchOp.h"
#include <boost/lexical_cast.hpp>