]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: fix bug filelock stuck at LOCK_XSYN leading client can't read data 25677/head
authorIvanGuan <yunfei.guan@xtaotech.com>
Thu, 29 Nov 2018 08:41:14 +0000 (16:41 +0800)
committerJos Collin <jcollin@redhat.com>
Sat, 22 Dec 2018 03:46:29 +0000 (09:16 +0530)
commit90a6027a9d94b26b205c2ce01eb034a45ec55876
tree52a4ec871a2dcb0a8b1369fb160ee8df6845b3d5
parent7f094a2228ed656068da3815865f7649ac4d2cd8
mds: fix bug filelock stuck at LOCK_XSYN leading client can't read data

The file's wanted_loner_cap will be -1 when more than one client open
it.Sometimes the loner can't be dropped successfully which will leading
filelock stuck at LOCK_XSYN.However,this state doesn't allow others any
caps so the client open the file by O_RDONLY can't read data all the time
untill someone else open it by O_RDWR or O_WRONLY.We should change the
state to LOCK_MIX or LOCK_SYNC instead of stucking all the time.

Fixes: http://tracker.ceph.com/issues/37333
Signed-off-by: Guan yunfei <yunfei.guan@xtaotech.com>
(cherry picked from commit c3339d93f04030197d075e8a9c7235dba08530cf)
src/mds/Locker.cc