ceph: reconnect to the export targets on new mdsmaps
authorXiubo Li <xiubli@redhat.com>
Wed, 18 Aug 2021 01:31:19 +0000 (09:31 +0800)
committerIlya Dryomov <idryomov@gmail.com>
Thu, 2 Sep 2021 20:49:17 +0000 (22:49 +0200)
commitd517b3983dd3106ca92d6c5d0d09415a4a09481c
tree91e166fe30149dd653a64b60a65ab84e175a8670
parent692e17159792a13e8c5031bdc0ae9b0f3158593d
ceph: reconnect to the export targets on new mdsmaps

In the case where the export MDS has crashed just after the EImportStart
journal is flushed, a standby MDS takes over for it and when replaying
the EImportStart journal the MDS will wait the client to reconnect. That
may never happen because the client may not have registered or opened
the sessions yet.

When receiving a new map, ensure we reconnect to valid export targets as
well if their sessions don't exist yet.

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
fs/ceph/mdsmap.c