ceph: add new RECOVER mount_state when recovering session
authorJeff Layton <jlayton@kernel.org>
Fri, 25 Sep 2020 11:55:39 +0000 (07:55 -0400)
committerIlya Dryomov <idryomov@gmail.com>
Mon, 14 Dec 2020 22:21:46 +0000 (23:21 +0100)
commit50c9132ddfb2024e96900407beeec660cf9848bd
tree56e236b210e2fc21afda85ce2535239b7624b8e9
parentaa5c791053c7deecded06f6525fc6e917cb2061b
ceph: add new RECOVER mount_state when recovering session

When recovering a session (a'la recover_session=clean), we want to do
all of the operations that we do on a forced umount, but changing the
mount state to SHUTDOWN is can cause queued MDS requests to fail when
the session comes back. Most of those can idle until the session is
recovered in this situation.

Reserve SHUTDOWN state for forced umount, and make a new RECOVER state
for the forced reconnect situation. Change several tests for equality with
SHUTDOWN to test for that or RECOVER.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: "Yan, Zheng" <zyan@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/addr.c
fs/ceph/caps.c
fs/ceph/inode.c
fs/ceph/mds_client.c
fs/ceph/super.c
include/linux/ceph/libceph.h