]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
kclient: avoid sending renew to non-active mds
authorSage Weil <sage@newdream.net>
Fri, 6 Jun 2008 23:14:25 +0000 (16:14 -0700)
committerSage Weil <sage@newdream.net>
Fri, 6 Jun 2008 23:40:59 +0000 (16:40 -0700)
src/kernel/mds_client.c

index 19b00ba7a5e8012761eef7ca9e36f9622a044e4a..8d11376e59fcb90d356c14dbc07d1d50551bd556 100644 (file)
@@ -805,6 +805,12 @@ static int send_renew_caps(struct ceph_mds_client *mdsc,
            time_after_eq(session->s_cap_ttl, session->s_renew_requested))
                dout(1, "mds%d session caps stale\n", session->s_mds);
 
+       if (ceph_mdsmap_get_state(mdsc->mdsmap, session->s_mds) <
+           CEPH_MDS_STATE_RECONNECT) {
+               dout(10, "send_renew_caps ignoring mds%d\n", session->s_mds);
+               return 0;
+       }
+
        dout(10, "send_renew_caps to mds%d\n", session->s_mds);
        session->s_renew_requested = jiffies;
        msg = create_session_msg(CEPH_SESSION_REQUEST_RENEWCAPS, 0);