diff options
-rw-r--r-- | fs/ceph/mds_client.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c index a4d9e5b0fd3d..d45787470fb5 100644 --- a/fs/ceph/mds_client.c +++ b/fs/ceph/mds_client.c | |||
@@ -2647,7 +2647,9 @@ static void delayed_work(struct work_struct *work) | |||
2647 | else | 2647 | else |
2648 | ceph_con_keepalive(&s->s_con); | 2648 | ceph_con_keepalive(&s->s_con); |
2649 | add_cap_releases(mdsc, s, -1); | 2649 | add_cap_releases(mdsc, s, -1); |
2650 | send_cap_releases(mdsc, s); | 2650 | if (s->s_state == CEPH_MDS_SESSION_OPEN || |
2651 | s->s_state == CEPH_MDS_SESSION_HUNG) | ||
2652 | send_cap_releases(mdsc, s); | ||
2651 | mutex_unlock(&s->s_mutex); | 2653 | mutex_unlock(&s->s_mutex); |
2652 | ceph_put_mds_session(s); | 2654 | ceph_put_mds_session(s); |
2653 | 2655 | ||