]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commit
ceph: retry the same mds later after the new session is opened
authorXiubo Li <xiubli@redhat.com>
Mon, 9 Dec 2019 12:47:15 +0000 (07:47 -0500)
committerIlya Dryomov <idryomov@gmail.com>
Fri, 10 Jan 2020 10:11:06 +0000 (11:11 +0100)
commit4931910513411c661450cfb49960610f19886743
tree9f8bc940d3c4800633d56efb8bc7c06b49f6824b
parentbdf1c1dfb1b8f5d94a3c3572b37cc07aed51bf46
ceph: retry the same mds later after the new session is opened

If max_mds > 1 and a request is submitted that chooses a random mds
rank, and the relating session is not opened yet, the request will wait
until the session has been opened and resend again.

Every time the request goes through __do_request, it will release the
req->session first and choose a random one again, which may be a
completely different rank than the one it just waited on.

In the worst case, it will open all the mds sessions one by one just
before the request can be successfully sent out.

URL: https://tracker.ceph.com/issues/43270
Signed-off-by: Xiubo Li <xiubli@redhat.com>
Signed-off-by: Jeff Layton <jlayton@kernel.org>
fs/ceph/mds_client.c