From: Varsha Rao Date: Fri, 18 Oct 2019 10:01:49 +0000 (+0530) Subject: mds: Reorganize class members in MDSDaemon header X-Git-Tag: v15.1.0~1078^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b04fe2958364767ba73dc5e0719c9ebdaada3361;p=ceph.git mds: Reorganize class members in MDSDaemon header Fixes: https://tracker.ceph.com/issues/42371 Signed-off-by: Varsha Rao --- diff --git a/src/mds/MDSDaemon.cc b/src/mds/MDSDaemon.cc index 5595a01a42eb..951a4991f452 100644 --- a/src/mds/MDSDaemon.cc +++ b/src/mds/MDSDaemon.cc @@ -63,8 +63,6 @@ // cons/des MDSDaemon::MDSDaemon(std::string_view n, Messenger *m, MonClient *mc) : Dispatcher(m->cct), - mds_lock(ceph::make_mutex("MDSDaemon::mds_lock")), - stopping(false), timer(m->cct, mds_lock), gss_ktfile_client(m->cct->_conf.get_val("gss_ktab_client_file")), beacon(m->cct, mc, n), @@ -73,8 +71,6 @@ MDSDaemon::MDSDaemon(std::string_view n, Messenger *m, MonClient *mc) : monc(mc), mgrc(m->cct, m, &mc->monmap), log_client(m->cct, messenger, &mc->monmap, LogClient::NO_FLAGS), - mds_rank(NULL), - asok_hook(NULL), starttime(mono_clock::now()) { orig_argc = 0; diff --git a/src/mds/MDSDaemon.h b/src/mds/MDSDaemon.h index 3be4795857c9..e8084b10474d 100644 --- a/src/mds/MDSDaemon.h +++ b/src/mds/MDSDaemon.h @@ -42,15 +42,8 @@ class MonClient; class MDSDaemon : public Dispatcher { public: - /* Global MDS lock: every time someone takes this, they must - * also check the `stopping` flag. If stopping is true, you - * must either do nothing and immediately drop the lock, or - * never drop the lock again (i.e. call respawn()) */ - ceph::mutex mds_lock; - bool stopping; - - SafeTimer timer; - std::string gss_ktfile_client{}; + MDSDaemon(std::string_view n, Messenger *m, MonClient *mc); + ~MDSDaemon() override; mono_time get_starttime() const { return starttime; @@ -60,26 +53,6 @@ class MDSDaemon : public Dispatcher { return chrono::duration(now-starttime); } - protected: - Beacon beacon; - - std::string name; - - Messenger *messenger; - MonClient *monc; - MgrClient mgrc; - std::unique_ptr mdsmap; - LogClient log_client; - LogChannelRef clog; - - MDSRankDispatcher *mds_rank; - - public: - MDSDaemon(std::string_view n, Messenger *m, MonClient *mc); - ~MDSDaemon() override; - int orig_argc; - const char **orig_argv; - // handle a signal (e.g., SIGTERM) void handle_signal(int signum); @@ -92,26 +65,31 @@ class MDSDaemon : public Dispatcher { * such that deleting xlists doesn't assert. */ bool is_clean_shutdown(); - protected: - // tick and other timer fun - Context *tick_event = nullptr; - void reset_tick(); - void wait_for_omap_osds(); + /* Global MDS lock: every time someone takes this, they must + * also check the `stopping` flag. If stopping is true, you + * must either do nothing and immediately drop the lock, or + * never drop the lock again (i.e. call respawn()) */ + ceph::mutex mds_lock = ceph::make_mutex("MDSDaemon::mds_lock"); + bool stopping = false; + + SafeTimer timer; + std::string gss_ktfile_client{}; + + int orig_argc; + const char **orig_argv; - private: - bool ms_dispatch2(const ref_t &m) override; - int ms_handle_authentication(Connection *con) override; - void ms_handle_accept(Connection *con) override; - void ms_handle_connect(Connection *con) override; - bool ms_handle_reset(Connection *con) override; - void ms_handle_remote_reset(Connection *con) override; - bool ms_handle_refused(Connection *con) override; protected: // admin socket handling friend class MDSSocketHook; - class MDSSocketHook *asok_hook; + + // special message types + friend class C_MDS_Send_Command_Reply; + + void reset_tick(); + void wait_for_omap_osds(); + void set_up_admin_socket(); void clean_up_admin_socket(); void check_ops_in_flight(); // send off any slow ops to monitor @@ -135,12 +113,9 @@ class MDSDaemon : public Dispatcher { void respawn(); void tick(); - -protected: + bool handle_core_message(const cref_t &m); - // special message types - friend class C_MDS_Send_Command_Reply; static void send_command_reply(const cref_t &m, MDSRank* mds_rank, int r, bufferlist outbl, std::string_view outs); int _handle_command( @@ -154,7 +129,23 @@ protected: void handle_mds_map(const cref_t &m); void _handle_mds_map(const MDSMap &oldmap); -private: + Beacon beacon; + + std::string name; + + Messenger *messenger; + MonClient *monc; + MgrClient mgrc; + std::unique_ptr mdsmap; + LogClient log_client; + LogChannelRef clog; + + MDSRankDispatcher *mds_rank = nullptr; + + // tick and other timer fun + Context *tick_event = nullptr; + class MDSSocketHook *asok_hook = nullptr; + private: struct MDSCommand { MDSCommand(std::string_view signature, std::string_view help) : cmdstring(signature), helpstring(help) @@ -165,6 +156,14 @@ private: std::string module = "mds"; }; + bool ms_dispatch2(const ref_t &m) override; + int ms_handle_authentication(Connection *con) override; + void ms_handle_accept(Connection *con) override; + void ms_handle_connect(Connection *con) override; + bool ms_handle_reset(Connection *con) override; + void ms_handle_remote_reset(Connection *con) override; + bool ms_handle_refused(Connection *con) override; + static const std::vector& get_commands(); bool parse_caps(const AuthCapsInfo&, MDSAuthCaps&);