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 <pdonnell@redhat.com>
(cherry picked from commit
59eca7a17816317d5064840745ea5e28d3349d1a)
Conflicts:
src/client/Client.cc
- use m.detach() instead of std::move(m) as argument to send_message()
break;
case CEPH_SESSION_FLUSHMSG:
+ /* flush cap release */
+ if (auto& m = session->release; m) {
+ session->con->send_message(m.detach());
+ }
session->con->send_message(new MClientSession(CEPH_SESSION_FLUSHMSG_ACK, m->get_seq()));
break;