]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
client: define template to declare ref 25879/head
authorPatrick Donnelly <pdonnell@redhat.com>
Thu, 10 Jan 2019 00:33:42 +0000 (16:33 -0800)
committerPatrick Donnelly <pdonnell@redhat.com>
Thu, 10 Jan 2019 18:34:51 +0000 (10:34 -0800)
To avoid including message headers in Client.h.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
src/client/Client.cc
src/client/Client.h
src/messages/MClientCaps.h
src/msg/MessageRef.h

index bb9ef28c9858fd7a85b6d93db12f93abb409ef04..0536ba1aed8025a29e86c72b8370bea945e2330b 100644 (file)
 
 #include "mon/MonClient.h"
 
+#include "messages/MClientCaps.h"
+#include "messages/MClientLease.h"
+#include "messages/MClientQuota.h"
 #include "messages/MClientReclaim.h"
+#include "messages/MClientReclaimReply.h"
 #include "messages/MClientReconnect.h"
+#include "messages/MClientReply.h"
+#include "messages/MClientRequest.h"
+#include "messages/MClientRequestForward.h"
+#include "messages/MClientSession.h"
+#include "messages/MClientSnap.h"
+#include "messages/MCommandReply.h"
+#include "messages/MFSMap.h"
+#include "messages/MFSMapUser.h"
+#include "messages/MMDSMap.h"
+#include "messages/MOSDMap.h"
 
 #include "mds/flock.h"
 #include "mds/cephfs_features.h"
@@ -1557,7 +1571,7 @@ void Client::dump_mds_requests(Formatter *f)
 }
 
 int Client::verify_reply_trace(int r,
-                              MetaRequest *request, const MClientReply::const_ref& reply,
+                              MetaRequest *request, const MConstRef<MClientReply>& reply,
                               InodeRef *ptarget, bool *pcreated,
                               const UserPerm& perms)
 {
@@ -2067,7 +2081,7 @@ void Client::_closed_mds_session(MetaSession *s)
   mds_sessions.erase(s->mds_num);
 }
 
-void Client::handle_client_session(const MClientSession::const_ref& m)
+void Client::handle_client_session(const MConstRef<MClientSession>& m)
 {
   mds_rank_t from = mds_rank_t(m->get_source().num());
   ldout(cct, 10) << __func__ << " " << *m << " from mds." << from << dendl;
@@ -2269,7 +2283,7 @@ MClientRequest::ref Client::build_client_request(MetaRequest *request)
 
 
 
-void Client::handle_client_request_forward(const MClientRequestForward::const_ref& fwd)
+void Client::handle_client_request_forward(const MConstRef<MClientRequestForward>& fwd)
 {
   mds_rank_t mds = mds_rank_t(fwd->get_source().num());
   MetaSession *session = _get_mds_session(mds, fwd->get_connection().get());
@@ -2315,7 +2329,7 @@ bool Client::is_dir_operation(MetaRequest *req)
   return false;
 }
 
-void Client::handle_client_reply(const MClientReply::const_ref& reply)
+void Client::handle_client_reply(const MConstRef<MClientReply>& reply)
 {
   mds_rank_t mds_num = mds_rank_t(reply->get_source().num());
   MetaSession *session = _get_mds_session(mds_num, reply->get_connection().get());
@@ -2453,7 +2467,7 @@ void Client::_handle_full_flag(int64_t pool)
   }
 }
 
-void Client::handle_osd_map(const MOSDMap::const_ref& m)
+void Client::handle_osd_map(const MConstRef<MOSDMap>& m)
 {
   std::set<entity_addr_t> new_blacklists;
   objecter->consume_blacklist_events(&new_blacklists);
@@ -2542,7 +2556,7 @@ void Client::handle_osd_map(const MOSDMap::const_ref& m)
 // incoming messages
 
 
-bool Client::ms_dispatch2(const Message::ref &m)
+bool Client::ms_dispatch2(const MessageRef &m)
 {
   std::lock_guard l(client_lock);
   if (!initialized) {
@@ -2624,7 +2638,7 @@ bool Client::ms_dispatch2(const Message::ref &m)
   return true;
 }
 
-void Client::handle_fs_map(const MFSMap::const_ref& m)
+void Client::handle_fs_map(const MConstRef<MFSMap>& m)
 {
   fsmap.reset(new FSMap(m->get_fsmap()));
 
@@ -2633,7 +2647,7 @@ void Client::handle_fs_map(const MFSMap::const_ref& m)
   monclient->sub_got("fsmap", fsmap->get_epoch());
 }
 
-void Client::handle_fs_map_user(const MFSMapUser::const_ref& m)
+void Client::handle_fs_map_user(const MConstRef<MFSMapUser>& m)
 {
   fsmap_user.reset(new FSMapUser);
   *fsmap_user = m->get_fsmap();
@@ -2642,7 +2656,7 @@ void Client::handle_fs_map_user(const MFSMapUser::const_ref& m)
   signal_cond_list(waiting_for_fsmap);
 }
 
-void Client::handle_mds_map(const MMDSMap::const_ref& m)
+void Client::handle_mds_map(const MConstRef<MMDSMap>& m)
 {
   mds_gid_t old_inc, new_inc;
   if (m->get_epoch() <= mdsmap->get_epoch()) {
@@ -2939,7 +2953,7 @@ void Client::got_mds_push(MetaSession *s)
   }
 }
 
-void Client::handle_lease(const MClientLease::const_ref& m)
+void Client::handle_lease(const MConstRef<MClientLease>& m)
 {
   ldout(cct, 10) << __func__ << " " << *m << dendl;
 
@@ -4652,7 +4666,7 @@ void Client::update_snap_trace(const bufferlist& bl, SnapRealm **realm_ret, bool
     put_snap_realm(first_realm);
 }
 
-void Client::handle_snap(const MClientSnap::const_ref& m)
+void Client::handle_snap(const MConstRef<MClientSnap>& m)
 {
   ldout(cct, 10) << __func__ << " " << *m << dendl;
   mds_rank_t mds = mds_rank_t(m->get_source().num());
@@ -4723,7 +4737,7 @@ void Client::handle_snap(const MClientSnap::const_ref& m)
   }
 }
 
-void Client::handle_quota(const MClientQuota::const_ref& m)
+void Client::handle_quota(const MConstRef<MClientQuota>& m)
 {
   mds_rank_t mds = mds_rank_t(m->get_source().num());
   MetaSession *session = _get_mds_session(mds, m->get_connection().get());
@@ -4747,7 +4761,7 @@ void Client::handle_quota(const MClientQuota::const_ref& m)
   }
 }
 
-void Client::handle_caps(const MClientCaps::const_ref& m)
+void Client::handle_caps(const MConstRef<MClientCaps>& m)
 {
   mds_rank_t mds = mds_rank_t(m->get_source().num());
   MetaSession *session = _get_mds_session(mds, m->get_connection().get());
@@ -4811,7 +4825,7 @@ void Client::handle_caps(const MClientCaps::const_ref& m)
   }
 }
 
-void Client::handle_cap_import(MetaSession *session, Inode *in, const MClientCaps::const_ref& m)
+void Client::handle_cap_import(MetaSession *session, Inode *in, const MConstRef<MClientCaps>& m)
 {
   mds_rank_t mds = session->mds_num;
 
@@ -4850,7 +4864,7 @@ void Client::handle_cap_import(MetaSession *session, Inode *in, const MClientCap
   }
 }
 
-void Client::handle_cap_export(MetaSession *session, Inode *in, const MClientCaps::const_ref& m)
+void Client::handle_cap_export(MetaSession *session, Inode *in, const MConstRef<MClientCaps>& m)
 {
   mds_rank_t mds = session->mds_num;
 
@@ -4896,7 +4910,7 @@ void Client::handle_cap_export(MetaSession *session, Inode *in, const MClientCap
   }
 }
 
-void Client::handle_cap_trunc(MetaSession *session, Inode *in, const MClientCaps::const_ref& m)
+void Client::handle_cap_trunc(MetaSession *session, Inode *in, const MConstRef<MClientCaps>& m)
 {
   mds_rank_t mds = session->mds_num;
   ceph_assert(in->caps.count(mds));
@@ -4912,7 +4926,7 @@ void Client::handle_cap_trunc(MetaSession *session, Inode *in, const MClientCaps
                         m->get_truncate_seq(), m->get_truncate_size());
 }
 
-void Client::handle_cap_flush_ack(MetaSession *session, Inode *in, Cap *cap, const MClientCaps::const_ref& m)
+void Client::handle_cap_flush_ack(MetaSession *session, Inode *in, Cap *cap, const MConstRef<MClientCaps>& m)
 {
   ceph_tid_t flush_ack_tid = m->get_client_tid();
   int dirty = m->get_dirty();
@@ -4976,7 +4990,7 @@ void Client::handle_cap_flush_ack(MetaSession *session, Inode *in, Cap *cap, con
 }
 
 
-void Client::handle_cap_flushsnap_ack(MetaSession *session, Inode *in, const MClientCaps::const_ref& m)
+void Client::handle_cap_flushsnap_ack(MetaSession *session, Inode *in, const MConstRef<MClientCaps>& m)
 {
   mds_rank_t mds = session->mds_num;
   ceph_assert(in->caps.count(mds));
@@ -5091,7 +5105,7 @@ void Client::_try_to_trim_inode(Inode *in, bool sched_inval)
   }
 }
 
-void Client::handle_cap_grant(MetaSession *session, Inode *in, Cap *cap, const MClientCaps::const_ref& m)
+void Client::handle_cap_grant(MetaSession *session, Inode *in, Cap *cap, const MConstRef<MClientCaps>& m)
 {
   mds_rank_t mds = session->mds_num;
   int used = get_caps_used(in);
@@ -5692,7 +5706,7 @@ int Client::mds_command(
   return 0;
 }
 
-void Client::handle_command_reply(const MCommandReply::const_ref& m)
+void Client::handle_command_reply(const MConstRef<MCommandReply>& m)
 {
   ceph_tid_t const tid = m->get_tid();
 
@@ -14363,7 +14377,7 @@ void Client::finish_reclaim()
   metadata.erase(it);
 }
 
-void Client::handle_client_reclaim_reply(const MClientReclaimReply::const_ref& reply)
+void Client::handle_client_reclaim_reply(const MConstRef<MClientReclaimReply>& reply)
 {
   mds_rank_t from = mds_rank_t(reply->get_source().num());
   ldout(cct, 10) << __func__ << " " << *reply << " from mds." << from << dendl;
index 4baa931c9cc823891ef30051c3bf14dbd81d2a20..6c4b8b3876a9cde94f6d0721b905f40af88f3b5e 100644 (file)
 #include "include/unordered_set.h"
 #include "mds/mdstypes.h"
 #include "msg/Dispatcher.h"
+#include "msg/MessageRef.h"
 #include "msg/Messenger.h"
 #include "osdc/ObjectCacher.h"
 
-#include "messages/MClientCaps.h"
-#include "messages/MClientLease.h"
-#include "messages/MClientQuota.h"
-#include "messages/MClientReclaimReply.h"
-#include "messages/MClientReply.h"
-#include "messages/MClientRequest.h"
-#include "messages/MClientRequestForward.h"
-#include "messages/MClientSession.h"
-#include "messages/MClientSnap.h"
-#include "messages/MCommandReply.h"
-#include "messages/MFSMap.h"
-#include "messages/MFSMapUser.h"
-#include "messages/MMDSMap.h"
-#include "messages/MOSDMap.h"
-
 #include "InodeRef.h"
 #include "MetaSession.h"
 #include "UserPerm.h"
@@ -645,12 +631,12 @@ public:
   virtual void shutdown();
 
   // messaging
-  void handle_mds_map(const MMDSMap::const_ref& m);
-  void handle_fs_map(const MFSMap::const_ref& m);
-  void handle_fs_map_user(const MFSMapUser::const_ref& m);
-  void handle_osd_map(const MOSDMap::const_ref& m);
+  void handle_mds_map(const MConstRef<MMDSMap>& m);
+  void handle_fs_map(const MConstRef<MFSMap>& m);
+  void handle_fs_map_user(const MConstRef<MFSMapUser>& m);
+  void handle_osd_map(const MConstRef<MOSDMap>& m);
 
-  void handle_lease(const MClientLease::const_ref& m);
+  void handle_lease(const MConstRef<MClientLease>& m);
 
   // inline data
   int uninline_data(Inode *in, Context *onfinish);
@@ -676,15 +662,15 @@ public:
   void maybe_update_snaprealm(SnapRealm *realm, snapid_t snap_created, snapid_t snap_highwater,
                              vector<snapid_t>& snaps);
 
-  void handle_quota(const MClientQuota::const_ref& m);
-  void handle_snap(const MClientSnap::const_ref& m);
-  void handle_caps(const MClientCaps::const_ref& m);
-  void handle_cap_import(MetaSession *session, Inode *in, const MClientCaps::const_ref& m);
-  void handle_cap_export(MetaSession *session, Inode *in, const MClientCaps::const_ref& m);
-  void handle_cap_trunc(MetaSession *session, Inode *in, const MClientCaps::const_ref& m);
-  void handle_cap_flush_ack(MetaSession *session, Inode *in, Cap *cap, const MClientCaps::const_ref& m);
-  void handle_cap_flushsnap_ack(MetaSession *session, Inode *in, const MClientCaps::const_ref& m);
-  void handle_cap_grant(MetaSession *session, Inode *in, Cap *cap, const MClientCaps::const_ref& m);
+  void handle_quota(const MConstRef<MClientQuota>& m);
+  void handle_snap(const MConstRef<MClientSnap>& m);
+  void handle_caps(const MConstRef<MClientCaps>& m);
+  void handle_cap_import(MetaSession *session, Inode *in, const MConstRef<MClientCaps>& m);
+  void handle_cap_export(MetaSession *session, Inode *in, const MConstRef<MClientCaps>& m);
+  void handle_cap_trunc(MetaSession *session, Inode *in, const MConstRef<MClientCaps>& m);
+  void handle_cap_flush_ack(MetaSession *session, Inode *in, Cap *cap, const MConstRef<MClientCaps>& m);
+  void handle_cap_flushsnap_ack(MetaSession *session, Inode *in, const MConstRef<MClientCaps>& m);
+  void handle_cap_grant(MetaSession *session, Inode *in, Cap *cap, const MConstRef<MClientCaps>& m);
   void cap_delay_requeue(Inode *in);
   void send_cap(Inode *in, MetaSession *session, Cap *cap, bool sync,
                int used, int want, int retain, int flush,
@@ -781,7 +767,7 @@ protected:
 
   void set_cap_epoch_barrier(epoch_t e);
 
-  void handle_command_reply(const MCommandReply::const_ref& m);
+  void handle_command_reply(const MConstRef<MCommandReply>& m);
   int fetch_fsmap(bool user);
   int resolve_mds(
       const std::string &mds_spec,
@@ -797,7 +783,7 @@ protected:
   void _closed_mds_session(MetaSession *s);
   bool _any_stale_sessions() const;
   void _kick_stale_sessions();
-  void handle_client_session(const MClientSession::const_ref& m);
+  void handle_client_session(const MConstRef<MClientSession>& m);
   void send_reconnect(MetaSession *s);
   void resend_unsafe_requests(MetaSession *s);
   void wait_unsafe_requests();
@@ -813,7 +799,7 @@ protected:
   void put_request(MetaRequest *request);
   void unregister_request(MetaRequest *request);
 
-  int verify_reply_trace(int r, MetaRequest *request, const MClientReply::const_ref& reply,
+  int verify_reply_trace(int r, MetaRequest *request, const MConstRef<MClientReply>& reply,
                         InodeRef *ptarget, bool *pcreated,
                         const UserPerm& perms);
   void encode_cap_releases(MetaRequest *request, mds_rank_t mds);
@@ -826,11 +812,11 @@ protected:
   void connect_mds_targets(mds_rank_t mds);
   void send_request(MetaRequest *request, MetaSession *session,
                    bool drop_cap_releases=false);
-  MClientRequest::ref build_client_request(MetaRequest *request);
+  MRef<MClientRequest> build_client_request(MetaRequest *request);
   void kick_requests(MetaSession *session);
   void kick_requests_closed(MetaSession *session);
-  void handle_client_request_forward(const MClientRequestForward::const_ref& reply);
-  void handle_client_reply(const MClientReply::const_ref& reply);
+  void handle_client_request_forward(const MConstRef<MClientRequestForward>& reply);
+  void handle_client_reply(const MConstRef<MClientReply>& reply);
   bool is_dir_operation(MetaRequest *request);
 
   // fake inode number for 32-bits ino_t
@@ -932,7 +918,7 @@ protected:
 
   void dump_status(Formatter *f);  // debug
 
-  bool ms_dispatch2(const Message::ref &m) override;
+  bool ms_dispatch2(const MessageRef& m) override;
 
   void ms_handle_connect(Connection *con) override;
   bool ms_handle_reset(Connection *con) override;
@@ -952,7 +938,7 @@ protected:
 
   int check_pool_perm(Inode *in, int need);
 
-  void handle_client_reclaim_reply(const MClientReclaimReply::const_ref& reply);
+  void handle_client_reclaim_reply(const MConstRef<MClientReclaimReply>& reply);
 
   /**
    * Call this when an OSDMap is seen with a full flag (global or per pool)
index f9c528c97ecfc6e59404026ccbb730f1e021d138..fa069f1889431fec7300d9adc66dbb996d3b1aff 100644 (file)
@@ -16,6 +16,7 @@
 #define CEPH_MCLIENTCAPS_H
 
 #include "msg/Message.h"
+#include "mds/mdstypes.h"
 #include "include/ceph_features.h"
 
 class MClientCaps : public MessageInstance<MClientCaps> {
index 6dac3b8657e7d819f9b4954c741c71512d1d3aba..c2bd3152ddfc3cc059279130bd8636ec36841b04 100644 (file)
  
 #include <boost/intrusive_ptr.hpp>
 
-class Message;
+template<typename T>
+using MRef = boost::intrusive_ptr<T>;
+template<typename T>
+using MConstRef = boost::intrusive_ptr<T const>;
 
-typedef boost::intrusive_ptr<Message> MessageRef;
-typedef boost::intrusive_ptr<Message const> MessageConstRef;
+using MessageRef = MRef<class Message>;
+using MessageConstRef = MConstRef<class Message>;
+
+/* cd src/messages/ && for f in *; do printf 'class '; basename "$f" .h | tr -d '\n'; printf ';\n'; done >> ../msg/MessageRef.h */
+
+class MAuth;
+class MAuthReply;
+class MBackfillReserve;
+class MCacheExpire;
+class MClientCapRelease;
+class MClientCaps;
+class MClientLease;
+class MClientQuota;
+class MClientReclaim;
+class MClientReclaimReply;
+class MClientReconnect;
+class MClientReply;
+class MClientRequestForward;
+class MClientRequest;
+class MClientSession;
+class MClientSnap;
+class MCommand;
+class MCommandReply;
+class MConfig;
+class MDataPing;
+class MDentryLink;
+class MDentryUnlink;
+class MDirUpdate;
+class MDiscover;
+class MDiscoverReply;
+class MExportCapsAck;
+class MExportCaps;
+class MExportDirAck;
+class MExportDirCancel;
+class MExportDirDiscoverAck;
+class MExportDirDiscover;
+class MExportDirFinish;
+class MExportDir;
+class MExportDirNotifyAck;
+class MExportDirNotify;
+class MExportDirPrepAck;
+class MExportDirPrep;
+class MForward;
+class MFSMap;
+class MFSMapUser;
+class MGatherCaps;
+class MGenericMessage;
+class MGetConfig;
+class MGetPoolStats;
+class MGetPoolStatsReply;
+class MHeartbeat;
+class MInodeFileCaps;
+class MLock;
+class MLogAck;
+class MLog;
+class MMDSBeacon;
+class MMDSCacheRejoin;
+class MMDSFindIno;
+class MMDSFindInoReply;
+class MMDSFragmentNotifyAck;
+class MMDSFragmentNotify;
+class MMDSLoadTargets;
+class MMDSMap;
+class MMDSOpenIno;
+class MMDSOpenInoReply;
+class MMDSResolveAck;
+class MMDSResolve;
+class MMDSSlaveRequest;
+class MMDSSnapUpdate;
+class MMDSTableRequest;
+class MMgrBeacon;
+class MMgrClose;
+class MMgrConfigure;
+class MMgrDigest;
+class MMgrMap;
+class MMgrOpen;
+class MMgrReport;
+class MMonCommandAck;
+class MMonCommand;
+class MMonElection;
+class MMonGetMap;
+class MMonGetOSDMap;
+class MMonGetVersion;
+class MMonGetVersionReply;
+class MMonGlobalID;
+class MMonHealthChecks;
+class MMonHealth;
+class MMonJoin;
+class MMonMap;
+class MMonMetadata;
+class MMonMgrReport;
+class MMonPaxos;
+class MMonProbe;
+class MMonQuorumService;
+class MMonScrub;
+class MMonSubscribeAck;
+class MMonSubscribe;
+class MMonSync;
+class MNop;
+class MOSDAlive;
+class MOSDBackoff;
+class MOSDBeacon;
+class MOSDBoot;
+class MOSDECSubOpRead;
+class MOSDECSubOpReadReply;
+class MOSDECSubOpWrite;
+class MOSDECSubOpWriteReply;
+class MOSDFailure;
+class MOSDFastDispatchOp;
+class MOSDForceRecovery;
+class MOSDFull;
+class MOSDMap;
+class MOSDMarkMeDown;
+class MOSDOp;
+class MOSDOpReply;
+class MOSDPeeringOp;
+class MOSDPGBackfill;
+class MOSDPGBackfillRemove;
+class MOSDPGCreate2;
+class MOSDPGCreated;
+class MOSDPGCreate;
+class MOSDPGInfo;
+class MOSDPGLog;
+class MOSDPGNotify;
+class MOSDPGPull;
+class MOSDPGPush;
+class MOSDPGPushReply;
+class MOSDPGQuery;
+class MOSDPGReadyToMerge;
+class MOSDPGRecoveryDelete;
+class MOSDPGRecoveryDeleteReply;
+class MOSDPGRemove;
+class MOSDPGScan;
+class MOSDPGTemp;
+class MOSDPGTrim;
+class MOSDPGUpdateLogMissing;
+class MOSDPGUpdateLogMissingReply;
+class MOSDPing;
+class MOSDRepOp;
+class MOSDRepOpReply;
+class MOSDRepScrub;
+class MOSDRepScrubMap;
+class MOSDScrub2;
+class MOSDScrub;
+class MOSDScrubReserve;
+class MPGStatsAck;
+class MPGStats;
+class MPing;
+class MPoolOp;
+class MPoolOpReply;
+class MRecoveryReserve;
+class MRemoveSnaps;
+class MRoute;
+class MServiceMap;
+class MStatfs;
+class MStatfsReply;
+class MTimeCheck2;
+class MTimeCheck;
+class MWatchNotify;
+class PaxosServiceMessage;
 
 #endif