#include <unistd.h>
#include "include/compat.h"
+#include "include/Context.h"
#include "include/types.h"
#include "include/str_list.h"
#include "common/Timer.h"
#include "common/ceph_argparse.h"
#include "common/config.h"
+#include "common/debug.h"
#include "common/entity_name.h"
#include "common/errno.h"
#include "common/perf_counters.h"
#include "common/version.h"
#include "global/signal_handler.h"
+#include "log/Log.h"
+
+#include "messages/MCommand.h"
+#include "messages/MCommandReply.h"
+#include "messages/MGenericMessage.h"
+#include "messages/MMDSMap.h"
+#include "messages/MMonCommand.h"
+#include "messages/MRemoveSnaps.h"
#include "msg/Messenger.h"
#include "mon/MonClient.h"
#include "osdc/Objecter.h"
#include "MDSMap.h"
+#include "MDSRank.h"
#include "Server.h"
#include "Locker.h"
#include <string_view>
-#include "messages/MCommand.h"
-#include "messages/MCommandReply.h"
-#include "messages/MGenericMessage.h"
-#include "messages/MMDSMap.h"
-#include "messages/MMonCommand.h"
-
+#include "common/admin_finisher.h" // for asok_finisher
#include "common/LogClient.h"
-#include "common/ceph_mutex.h"
#include "common/fair_mutex.h"
#include "common/Timer.h"
-#include "include/Context.h"
-#include "include/types.h"
#include "mgr/MgrClient.h"
#include "msg/Dispatcher.h"
#include "Beacon.h"
-#include "MDSMap.h"
-#include "MDSRank.h"
#define CEPH_MDS_PROTOCOL 37 /* cluster internal */
+namespace boost::asio { class io_context; }
+class Context;
+class MDSAuthCaps;
+class MDSMap;
+class MDSRankDispatcher;
class Messenger;
class MonClient;
+class MCommand;
+class MMDSMap;
class MDSDaemon : public Dispatcher {
public: