From: Ricardo Dias Date: Wed, 16 Jan 2019 16:47:07 +0000 (+0000) Subject: msg/async: msgr2: keep authorizer bufferlist across reconnects X-Git-Tag: v14.1.0~271^2~22 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9da6ef79257b9cfb53f78f1f02f002aeca44200c;p=ceph.git msg/async: msgr2: keep authorizer bufferlist across reconnects Signed-off-by: Ricardo Dias --- diff --git a/src/msg/async/ProtocolV2.cc b/src/msg/async/ProtocolV2.cc index 3492427210b..736e9d43ed9 100644 --- a/src/msg/async/ProtocolV2.cc +++ b/src/msg/async/ProtocolV2.cc @@ -2074,8 +2074,12 @@ CtPtr ProtocolV2::send_auth_request(std::vector &allowed_methods) { ldout(cct, 10) << __func__ << " sending auth request method=" << auth_method << " len=" << authorizer->bl.length() << dendl; + // we need to copy authorizer->bl because we might need it again in a + // reconnect + bufferlist auth_blob; + auth_blob.append(authorizer->bl); AuthRequestFrame authFrame(auth_method, authorizer->bl.length(), - authorizer->bl); + auth_blob); bufferlist &bl = authFrame.get_buffer(); return WRITE(bl, "auth request", read_frame); }