]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: non-rank based interface for sending message to an mds
authorVenky Shankar <vshankar@redhat.com>
Wed, 6 May 2020 07:17:15 +0000 (03:17 -0400)
committerVenky Shankar <vshankar@redhat.com>
Mon, 1 Jun 2020 08:05:39 +0000 (04:05 -0400)
Signed-off-by: Venky Shankar <vshankar@redhat.com>
src/mds/MDSRank.cc
src/mds/MDSRank.h

index c5c6359df3ec86cb85b9a9ed69313526d1193694..e49b515417cd2ec25b21792a56f13c0a6eb340e7 100644 (file)
@@ -1396,14 +1396,20 @@ void MDSRank::send_message_mds(const ref_t<Message>& m, mds_rank_t mds)
   }
 
   // send mdsmap first?
+  auto addrs = mdsmap->get_addrs(mds);
   if (mds != whoami && peer_mdsmap_epoch[mds] < mdsmap->get_epoch()) {
     auto _m = make_message<MMDSMap>(monc->get_fsid(), *mdsmap);
-    messenger->send_to_mds(_m.detach(), mdsmap->get_addrs(mds));
+    send_message_mds(_m, addrs);
     peer_mdsmap_epoch[mds] = mdsmap->get_epoch();
   }
 
   // send message
-  messenger->send_to_mds(ref_t<Message>(m).detach(), mdsmap->get_addrs(mds));
+  send_message_mds(m, addrs);
+}
+
+void MDSRank::send_message_mds(const ref_t<Message>& m, const entity_addrvec_t &addr)
+{
+  messenger->send_to_mds(ref_t<Message>(m).detach(), addr);
 }
 
 void MDSRank::forward_message_mds(const cref_t<MClientRequest>& m, mds_rank_t mds)
index a657b1731be7e4ee4080b6e36764cdbb25a81b47..45cf67ce0cbbf2b9ed1e8b7bbb2e0f2eef37897d 100644 (file)
@@ -267,6 +267,7 @@ class MDSRank {
     double get_dispatch_queue_max_age(utime_t now) const;
 
     void send_message_mds(const ref_t<Message>& m, mds_rank_t mds);
+    void send_message_mds(const ref_t<Message>& m, const entity_addrvec_t &addr);
     void forward_message_mds(const cref_t<MClientRequest>& req, mds_rank_t mds);
     void send_message_client_counted(const ref_t<Message>& m, client_t client);
     void send_message_client_counted(const ref_t<Message>& m, Session* session);