diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c
index 62238f3e6e19521a5573e6dcbdc985c1be5207c8..276e34ab3e2ccaa40903196c9d1507fc49ed0bcb 100644
--- a/fs/ceph/mds_client.c
+++ b/fs/ceph/mds_client.c
@@ -5446,6 +5446,8 @@ static void delayed_work(struct work_struct *work)
 		}
 		mutex_unlock(&mdsc->mutex);
 
+		ceph_flush_cap_releases(mdsc, s);
+
 		mutex_lock(&s->s_mutex);
 		if (renew_caps)
 			send_renew_caps(mdsc, s);