summaryrefslogtreecommitdiff
path: root/fs/ceph
diff options
context:
space:
mode:
authorXiubo Li <xiubli@redhat.com>2024-07-10 20:16:54 +0800
committerIlya Dryomov <idryomov@gmail.com>2024-07-23 10:01:57 +0200
commit578eb54c4a16713d99eed736660e30ae6eb1877f (patch)
treefabcbfc32eec99c60028f7dbd5263eb11f2aa2df /fs/ceph
parent77bb4a501a7756e6f5428b72fb0e420deb7ae562 (diff)
downloadlwn-578eb54c4a16713d99eed736660e30ae6eb1877f.tar.gz
lwn-578eb54c4a16713d99eed736660e30ae6eb1877f.zip
ceph: periodically flush the cap releases
The MDS could be waiting the caps releases infinitely in some corner case and then reporting the caps revoke stuck warning. To fix this we should periodically flush the cap releases. Link: https://tracker.ceph.com/issues/57244 Signed-off-by: Xiubo Li <xiubli@redhat.com> Reviewed-by: Venky Shankar <vshankar@redhat.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'fs/ceph')
-rw-r--r--fs/ceph/mds_client.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c
index 62238f3e6e19..276e34ab3e2c 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);