From: Sage Weil Date: Tue, 25 Aug 2009 23:23:47 +0000 (-0700) Subject: kclient: periodically ping mds's X-Git-Tag: v0.14~120 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6bad246d4d3e9ffe93bdf7be79fe97dc20784ff5;p=ceph.git kclient: periodically ping mds's --- diff --git a/src/kernel/mds_client.c b/src/kernel/mds_client.c index 166481129fad..2b76731fa44c 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);