Skip to content

Commit e7d84c6

Browse files
lxbszidryomov
authored andcommitted
ceph: flush cap releases when the session is flushed
MDS expects the completed cap release prior to responding to the session flush for cache drop. Cc: stable@vger.kernel.org Link: http://tracker.ceph.com/issues/38009 Signed-off-by: Xiubo Li <xiubli@redhat.com> Reviewed-by: Venky Shankar <vshankar@redhat.com> Reviewed-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
1 parent 4ec5183 commit e7d84c6

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

fs/ceph/mds_client.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3685,6 +3685,12 @@ static void handle_session(struct ceph_mds_session *session,
36853685
break;
36863686

36873687
case CEPH_SESSION_FLUSHMSG:
3688+
/* flush cap releases */
3689+
spin_lock(&session->s_cap_lock);
3690+
if (session->s_num_cap_releases)
3691+
ceph_flush_cap_releases(mdsc, session);
3692+
spin_unlock(&session->s_cap_lock);
3693+
36883694
send_flushmsg_ack(mdsc, session, seq);
36893695
break;
36903696

0 commit comments

Comments
 (0)