[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210715134039.10466-1-lhenriques@suse.de>
Date: Thu, 15 Jul 2021 14:40:39 +0100
From: Luis Henriques <lhenriques@...e.de>
To: Jeff Layton <jlayton@...nel.org>,
Ilya Dryomov <idryomov@...il.com>, Xiubo Li <xiubli@...hat.com>
Cc: ceph-devel@...r.kernel.org, linux-kernel@...r.kernel.org,
Luis Henriques <lhenriques@...e.de>
Subject: [PATCH] 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@...e.de>
---
fs/ceph/mds_client.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/ceph/mds_client.c b/fs/ceph/mds_client.c
index e5af591d3bd4..86f09b1110a2 100644
--- a/fs/ceph/mds_client.c
+++ b/fs/ceph/mds_client.c
@@ -4468,7 +4468,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:
Powered by blists - more mailing lists