ceph: check the sesion state and return false in case it is closed
authorXiubo Li <xiubli@redhat.com>
Fri, 17 Jul 2020 13:25:13 +0000 (09:25 -0400)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 3 Aug 2020 09:05:26 +0000 (11:05 +0200)
If the session is already in closed state, we should skip it.

Signed-off-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/mds_client.c

index 9a09d12..ef8a117 100644 (file)
@@ -4303,6 +4303,7 @@ bool check_session_state(struct ceph_mds_session *s)
        }
        if (s->s_state == CEPH_MDS_SESSION_NEW ||
            s->s_state == CEPH_MDS_SESSION_RESTARTING ||
+           s->s_state == CEPH_MDS_SESSION_CLOSED ||
            s->s_state == CEPH_MDS_SESSION_REJECTED)
                /* this mds is failed or recovering, just wait */
                return false;