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
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;