]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
AsyncConnection: Only prepare message when it support fast dispatch 5166/head
authorHaomai Wang <haomaiwang@gmail.com>
Wed, 8 Jul 2015 03:32:29 +0000 (11:32 +0800)
committerHaomai Wang <haomaiwang@gmail.com>
Wed, 8 Jul 2015 03:32:29 +0000 (11:32 +0800)
Not all messages support reencode now, we just avoid them prepare firstly when
call "send_message"

Signed-off-by: Haomai Wang <haomaiwang@gmail.com>
src/msg/async/AsyncConnection.cc

index a142e5848025c92579960691041100332f78260a..bb47b3ea3ae2b944d9f3b102ed6c220927ebacb1 100644 (file)
@@ -1939,7 +1939,10 @@ int AsyncConnection::send_message(Message *m)
   if (!m->get_priority())
     m->set_priority(async_msgr->get_default_send_priority());
 
-  prepare_send_message(f, m, bl);
+  // TODO: Currently not all messages supports reencode like MOSDMap, so here
+  // only let fast dispatch support messages prepare message
+  if (async_msgr->ms_can_fast_dispatch(m))
+    prepare_send_message(f, m, bl);
 
   Mutex::Locker l(write_lock);
   // "features" changes will change the payload encoding