]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
client: fix fuse client hang because its pipe to mds is not ok 25904/head
authorIvanGuan <yunfei.guan@xtaotech.com>
Fri, 4 Jan 2019 04:22:27 +0000 (12:22 +0800)
committerPrashant D <pdhange@redhat.com>
Thu, 10 Jan 2019 22:52:17 +0000 (17:52 -0500)
commitf269e058ba35f08b5b652802cb2333e64033dd4a
treecc1cd3f5e56677df0713225e14cc69b84204f713
parentf8f30fc3718d723d58633db4b0ca838c5fa32a12
client: fix fuse client hang because its pipe to mds is not ok

If fuse client session had been killed by mds and the mds daemon restart
or hot-standby switch happens right away but the client did not receive
any message from monitor due to network or other whatever reason untill
the mds become active again.Thus cause client didn't do closed_mds_session
lead the seession still is STATE_OPEN but client can't send any message to
mds because its pipe is not ok.So we should close the stale session so that
it can be reopened again.

Fixes: http://tracker.ceph.com/issues/36079
Signed-off-by: Guan yunfei <yunfei.guan@xtaotech.com>
(cherry picked from commit 0e137de26e85942f8b40f7b13e564bd4c31b37f9)

Conflicts:
src/client/Client.cc : Resolved in handle_mds_map
src/client/Client.cc
src/mds/MDSMap.h