]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
CEPH_MDS_SESSION_OPENING never got set.
authorPatience Warnick <patience@cranium.pelton.net>
Thu, 3 Jan 2008 18:35:25 +0000 (10:35 -0800)
committerPatience Warnick <patience@cranium.pelton.net>
Thu, 3 Jan 2008 18:35:25 +0000 (10:35 -0800)
src/kernel/mds_client.c

index 342488adf229edcb5ca8412a5c1a76196cc22c1e..b7edb416b6b8a7c085b4e79d5bc082985b0ddcd3 100644 (file)
@@ -170,6 +170,7 @@ static void open_session(struct ceph_mds_client *mdsc, struct ceph_mds_session *
        msg = create_session_msg(CEPH_SESSION_REQUEST_OPEN, session->s_cap_seq);
        if (IS_ERR(msg))
                return;  /* fixme */
+       session->s_state = CEPH_MDS_SESSION_OPENING;
        send_msg_mds(mdsc, msg, mds);
 }
 
@@ -342,8 +343,9 @@ retry:
 
        /* open? */
        if (session->s_state == CEPH_MDS_SESSION_NEW ||
-           session->s_state == CEPH_MDS_SESSION_CLOSING) 
+           session->s_state == CEPH_MDS_SESSION_CLOSING) {
                open_session(mdsc, session, mds);
+       }
        if (session->s_state == CEPH_MDS_SESSION_OPENING) {
                /* wait for session to open (or fail, or close) */
                spin_unlock(&mdsc->lock);