From dbd379bcf1f64c1b3a9ae8903bbc105ef7c09036 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 21 Jun 2010 13:38:35 -0700 Subject: [PATCH] --- yaml --- r: 208838 b: refs/heads/master c: cb170a22153730eb9c82b6c85ead2001dba6c41a h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/ceph/mds_client.c | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index c6c0473146d6..ee7cc0e8ddab 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ed0552a1a21d2f2692b84c366ce04ad17377780c +refs/heads/master: cb170a22153730eb9c82b6c85ead2001dba6c41a diff --git a/trunk/fs/ceph/mds_client.c b/trunk/fs/ceph/mds_client.c index 462602ec7fb1..552b934c9cd0 100644 --- a/trunk/fs/ceph/mds_client.c +++ b/trunk/fs/ceph/mds_client.c @@ -2470,6 +2470,21 @@ static void check_new_map(struct ceph_mds_client *mdsc, wake_up_session_caps(s, 1); } } + + for (i = 0; i < newmap->m_max_mds && i < mdsc->max_sessions; i++) { + s = mdsc->sessions[i]; + if (!s) + continue; + if (!ceph_mdsmap_is_laggy(newmap, i)) + continue; + if (s->s_state == CEPH_MDS_SESSION_OPEN || + s->s_state == CEPH_MDS_SESSION_HUNG || + s->s_state == CEPH_MDS_SESSION_CLOSING) { + dout(" connecting to export targets of laggy mds%d\n", + i); + __open_export_target_sessions(mdsc, s); + } + } }