summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-07-14 08:55:52 -0700
committerSage Weil <sage@inktank.com>2013-07-15 13:48:07 -0700
commit4282971d47b90484e681ff1a71ae29569dbd1d32 (patch)
tree78965f8f9e9f9323fddc2828a9070aa387d17cad
parent314cf046b0b787ca69665e8751eab6fe7adb4037 (diff)
downloadceph-4282971d47b90484e681ff1a71ae29569dbd1d32.tar.gz
msg/Pipe: be a bit more explicit about encoding outgoing messages
Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r--src/msg/Pipe.cc10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/msg/Pipe.cc b/src/msg/Pipe.cc
index 6714b9f7b6e..d45666c21c6 100644
--- a/src/msg/Pipe.cc
+++ b/src/msg/Pipe.cc
@@ -1527,10 +1527,16 @@ void Pipe::writer()
// associate message with Connection (for benefit of encode_payload)
m->set_connection(connection_state.get());
- ldout(msgr->cct,20) << "writer encoding " << m->get_seq() << " " << m << " " << *m << dendl;
+ uint64_t features = connection_state->get_features();
+ if (m->empty_payload())
+ ldout(msgr->cct,20) << "writer encoding " << m->get_seq() << " features " << features
+ << " " << m << " " << *m << dendl;
+ else
+ ldout(msgr->cct,20) << "writer half-reencoding " << m->get_seq() << " features " << features
+ << " " << m << " " << *m << dendl;
// encode and copy out of *m
- m->encode(connection_state->get_features(), !msgr->cct->_conf->ms_nocrc);
+ m->encode(features, !msgr->cct->_conf->ms_nocrc);
// prepare everything
ceph_msg_header& header = m->get_header();