From: Ilya Dryomov Date: Mon, 12 May 2014 08:30:45 +0000 (+0400) Subject: mon: set MMonGetVersionReply tid X-Git-Tag: v0.82~62^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F1849%2Fhead;p=ceph.git mon: set MMonGetVersionReply tid Currently we don't set MMonGetVersionReply tid even if the original MMonGetVersion message had a non-zero tid. This is bad for the kernel client, which has the infrastructure in place that relies on tids to lookup message buffers and contexts. To kick off transitioning away from the workaround, set MMonGetVersionReply tid to the tid of the original MMonGetVersion message. Signed-off-by: Ilya Dryomov --- diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index c8e6e5c1be5c..036c2f6712bb 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -3576,10 +3576,13 @@ void Monitor::handle_get_version(MMonGetVersion *m) svc->wait_for_readable(new C_RetryMessage(this, m)); goto out; } + MMonGetVersionReply *reply = new MMonGetVersionReply(); reply->handle = m->handle; reply->version = svc->get_last_committed(); reply->oldest_version = svc->get_first_committed(); + reply->set_tid(m->get_tid()); + messenger->send_message(reply, m->get_source_inst()); }