From 6bad246d4d3e9ffe93bdf7be79fe97dc20784ff5 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 25 Aug 2009 16:23:47 -0700 Subject: [PATCH] kclient: periodically ping mds's --- src/kernel/mds_client.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/kernel/mds_client.c b/src/kernel/mds_client.c index 166481129fad3..2b76731fa44c3 100644 --- a/src/kernel/mds_client.c +++ b/src/kernel/mds_client.c @@ -2576,8 +2576,17 @@ static void delayed_work(struct work_struct *work) mutex_unlock(&mdsc->mutex); mutex_lock(&s->s_mutex); - if (renew_caps) + if (renew_caps) { send_renew_caps(mdsc, s); + } else { + struct ceph_entity_name name = { + .type = cpu_to_le32(CEPH_ENTITY_TYPE_MDS), + .num = cpu_to_le32(s->s_mds) + }; + + ceph_ping(mdsc->client->msgr, name, + ceph_mdsmap_get_addr(mdsc->mdsmap, s->s_mds)); + } add_cap_releases(mdsc, s, -1); send_cap_releases(mdsc, s); mutex_unlock(&s->s_mutex); -- 2.39.5