]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: complete all the replay op when mds is restarted ,no matter the session is close...
authorshenhang <shenhang@kuaishou.com>
Tue, 16 Jul 2019 07:19:40 +0000 (15:19 +0800)
committerNathan Cutler <ncutler@suse.com>
Mon, 27 Jan 2020 12:48:12 +0000 (13:48 +0100)
commit504dbcc94ae21124c59ea2f6b13752887bbdb0c4
tree98bfb67ce3bfb767471bd7cbc91af2db0cdaa5c0
parent658d215718c6162f640ddc1530ddab14f1f7cd2b
mds: complete all the replay op when mds is restarted ,no matter the session is closed or not.

In reconnect phase client sent unsafe requests to mds before reconnect msg. So this pr will handle situation like this:

1. In reconnect phase , client sent unsafe request to mds.
2. It reached reconnect timeout. All sessions without sending reconnect msg in time, some of which may had sent unsafe requests, are marked as closed.
(Another situation is #31668, which will deny all client reconnect msg to speed up reboot).
3.So these unsafe request from session without sending reconnect msg in time or being denied could be handled in clientreplay phase.

fixes:http://tracker.ceph.com/issues/40784

Signed-off-by: Shen Hang <harryshen18@gmail.com>
(cherry picked from commit 6837bf5e5242631292462efe2b3599ff8ebe0d8e)

Conflicts:
        src/mds/Server.cc
- nautilus uses "MClientSession::create" instead of "make_message"
src/common/options.cc
src/mds/Locker.cc
src/mds/MDSRank.cc
src/mds/Server.cc
src/mds/Server.h