diff options
author | Luis Henriques <lhenriques@suse.de> | 2021-07-15 14:40:39 +0100 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2021-07-20 17:57:33 +0200 |
commit | cdb330f4b41ab55feb35487729e883c9e08b8a54 (patch) | |
tree | d530f3071020f6728bfb01e165870a5c1fd918ab /fs | |
parent | ed9eb71085ecb7ded9a5118cec2ab70667cc7350 (diff) | |
download | linux-cdb330f4b41ab55feb35487729e883c9e08b8a54.tar.gz linux-cdb330f4b41ab55feb35487729e883c9e08b8a54.tar.bz2 linux-cdb330f4b41ab55feb35487729e883c9e08b8a54.zip |
ceph: don't WARN if we're still opening a session to an MDS
If MDSs aren't available while mounting a filesystem, the session state
will transition from SESSION_OPENING to SESSION_CLOSING. And in that
scenario check_session_state() will be called from delayed_work() and
trigger this WARN.
Avoid this by only WARNing after a session has already been established
(i.e., the s_ttl will be different from 0).
Fixes: 62575e270f66 ("ceph: check session state after bumping session->s_seq")
Signed-off-by: Luis Henriques <lhenriques@suse.de>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ceph/mds_client.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c index a818213c972f..9db1b39df773 100644 --- a/fs/ceph/mds_client.c +++ b/fs/ceph/mds_client.c @@ -4456,7 +4456,7 @@ bool check_session_state(struct ceph_mds_session *s) break; case CEPH_MDS_SESSION_CLOSING: /* Should never reach this when we're unmounting */ - WARN_ON_ONCE(true); + WARN_ON_ONCE(s->s_ttl); fallthrough; case CEPH_MDS_SESSION_NEW: case CEPH_MDS_SESSION_RESTARTING: |