From: Max Kellermann Date: Tue, 29 Oct 2024 13:16:36 +0000 (+0100) Subject: mds/MD{Cache,SRank}: move classes to Retry{Message,Request}.h X-Git-Tag: v20.3.0~40^2~2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=856ce1b92ef7c9cf979a56d6275c3952710823e0;p=ceph.git mds/MD{Cache,SRank}: move classes to Retry{Message,Request}.h Prepare for eliminating the header dependency on MDSContext.h. Signed-off-by: Max Kellermann --- diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc index 8ef4bed9ec7fc..bf21af21375ba 100644 --- a/src/mds/Locker.cc +++ b/src/mds/Locker.cc @@ -26,6 +26,8 @@ #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" diff --git a/src/mds/MDBalancer.cc b/src/mds/MDBalancer.cc index c2389c3d30152..9a07f944986b6 100644 --- a/src/mds/MDBalancer.cc +++ b/src/mds/MDBalancer.cc @@ -13,6 +13,7 @@ */ #include "MDBalancer.h" +#include "RetryMessage.h" #include "include/compat.h" #include "mdstypes.h" diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index 4676355afd42e..5e7bcd2a376a8 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -13,6 +13,8 @@ */ #include "MDCache.h" +#include "RetryMessage.h" +#include "RetryRequest.h" #include diff --git a/src/mds/MDCache.h b/src/mds/MDCache.h index beb5e0c58b70a..00faba916ca12 100644 --- a/src/mds/MDCache.h +++ b/src/mds/MDCache.h @@ -1599,26 +1599,6 @@ private: 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 * diff --git a/src/mds/MDSRank.h b/src/mds/MDSRank.h index e6e8c2f2eeca0..0c0cf8fe69f48 100644 --- a/src/mds/MDSRank.h +++ b/src/mds/MDSRank.h @@ -673,30 +673,6 @@ private: 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 &m) - : MDSInternalContext(mds), m(m) {} - void finish(int r) override { - get_mds()->retry_dispatch(m); - } -protected: - cref_t m; -}; - -class CF_MDS_RetryMessageFactory : public MDSContextFactory { -public: - CF_MDS_RetryMessageFactory(MDSRank *mds, const cref_t &m) - : mds(mds), m(m) {} - - MDSContext *build() { - return new C_MDS_RetryMessage(mds, m); - } -private: - MDSRank *mds; - cref_t m; -}; - /** * The aspect of MDSRank exposed to MDSDaemon but not subsystems: i.e. * the service/dispatcher stuff like init/shutdown that subsystems should diff --git a/src/mds/MDSTableClient.cc b/src/mds/MDSTableClient.cc index 0006d13692ca1..0f96028d75445 100644 --- a/src/mds/MDSTableClient.cc +++ b/src/mds/MDSTableClient.cc @@ -16,6 +16,7 @@ #include "MDSMap.h" #include "MDSContext.h" +#include "RetryMessage.h" #include "msg/Messenger.h" #include "messages/MMDSTableRequest.h" diff --git a/src/mds/Migrator.cc b/src/mds/Migrator.cc index 328ccf3a92ba7..444db550c4732 100644 --- a/src/mds/Migrator.cc +++ b/src/mds/Migrator.cc @@ -19,6 +19,7 @@ #include "CDir.h" #include "CDentry.h" #include "Locker.h" +#include "RetryMessage.h" #include "Server.h" #include "MDBalancer.h" diff --git a/src/mds/RetryMessage.h b/src/mds/RetryMessage.h new file mode 100644 index 0000000000000..87ec6deb913af --- /dev/null +++ b/src/mds/RetryMessage.h @@ -0,0 +1,43 @@ +// -*- 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 &m) + : MDSInternalContext(mds), m(m) {} + void finish(int r) override { + get_mds()->retry_dispatch(m); + } +protected: + cref_t m; +}; + +class CF_MDS_RetryMessageFactory : public MDSContextFactory { +public: + CF_MDS_RetryMessageFactory(MDSRank *mds, const cref_t &m) + : mds(mds), m(m) {} + + MDSContext *build() { + return new C_MDS_RetryMessage(mds, m); + } +private: + MDSRank *mds; + cref_t m; +}; diff --git a/src/mds/RetryRequest.h b/src/mds/RetryRequest.h new file mode 100644 index 0000000000000..d913271d2202c --- /dev/null +++ b/src/mds/RetryRequest.h @@ -0,0 +1,38 @@ +// -*- 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 + * + * 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; +}; diff --git a/src/mds/ScrubStack.cc b/src/mds/ScrubStack.cc index a5efe7732445c..61cf447c720fa 100644 --- a/src/mds/ScrubStack.cc +++ b/src/mds/ScrubStack.cc @@ -14,6 +14,7 @@ #include "ScrubStack.h" #include "CDir.h" +#include "RetryMessage.h" #include "SnapRealm.h" #include "common/debug.h" #include "common/Formatter.h" diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 4c68e0b06c923..a6d5bcca1cce2 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -13,6 +13,8 @@ */ #include "Server.h" +#include "RetryMessage.h" +#include "RetryRequest.h" #include "BatchOp.h" #include