From: Patrick Donnelly Date: Tue, 22 Jan 2019 18:44:26 +0000 (-0800) Subject: client: flush cap release on session flush X-Git-Tag: v12.2.12~110^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6e867bd9fce94bae380d46f540ab10ed60e5374a;p=ceph.git client: flush cap release on session flush MDS expects the completed cap release prior to responding to the session flush for cache drop. Fixes: http://tracker.ceph.com/issues/38009 Signed-off-by: Patrick Donnelly (cherry picked from commit 59eca7a17816317d5064840745ea5e28d3349d1a) Conflicts: src/client/Client.cc --- diff --git a/src/client/Client.cc b/src/client/Client.cc index 9f78b24a5f8b..6ade501a92e2 100644 --- a/src/client/Client.cc +++ b/src/client/Client.cc @@ -2106,6 +2106,14 @@ void Client::handle_client_session(MClientSession *m) break; case CEPH_SESSION_FLUSHMSG: + /* flush cap release */ + { + auto& m = session->release; + if (m) { + session->con->send_message(std::move(m)); + m = nullptr; + } + } session->con->send_message(new MClientSession(CEPH_SESSION_FLUSHMSG_ACK, m->get_seq())); break;