From 2e55da9406ef5f41b8b886702d019aa58df07da8 Mon Sep 17 00:00:00 2001 From: Jianpeng Ma Date: Fri, 6 Sep 2019 11:21:12 +0800 Subject: [PATCH] msg/async/ProtocolV1: avoid unnecessary bufferlist::swap. Currently, for MOSDOpRely it don't prepare in func send_message. So no need do swap for empty bufferlist. Signed-off-by: Jianpeng Ma --- src/msg/async/ProtocolV1.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/msg/async/ProtocolV1.cc b/src/msg/async/ProtocolV1.cc index 2c7121a9c80..9f6160d7ef0 100644 --- a/src/msg/async/ProtocolV1.cc +++ b/src/msg/async/ProtocolV1.cc @@ -1304,7 +1304,10 @@ Message *ProtocolV1::_get_next_outgoing(bufferlist *bl) { ceph_assert(!it->second.empty()); list >::iterator p = it->second.begin(); m = p->second; - if (bl) bl->swap(p->first); + if (p->first.length() && bl) { + assert(bl->length() == 0); + bl->swap(p->first); + } it->second.erase(p); if (it->second.empty()) out_q.erase(it->first); } -- 2.39.5