From: Xiubo Li <xiubli@xxxxxxxxxx> MDS expects the completed cap release prior to responding to the session flush for cache drop. Cc: <stable@xxxxxxxxxx> URL: http://tracker.ceph.com/issues/38009 Cc: Patrick Donnelly <pdonnell@xxxxxxxxxx> Signed-off-by: Xiubo Li <xiubli@xxxxxxxxxx> --- fs/ceph/mds_client.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c index 3c9d3f609e7f..51366bd053de 100644 --- a/fs/ceph/mds_client.c +++ b/fs/ceph/mds_client.c @@ -4039,6 +4039,12 @@ static void handle_session(struct ceph_mds_session *session, break; case CEPH_SESSION_FLUSHMSG: + /* flush cap release */ + spin_lock(&session->s_cap_lock); + if (session->s_num_cap_releases) + ceph_flush_cap_releases(mdsc, session); + spin_unlock(&session->s_cap_lock); + send_flushmsg_ack(mdsc, session, seq); break; -- 2.31.1