]> git.baikalelectronics.ru Git - kernel.git/commit
ceph: always re-send cap flushes when MDS recovers
authorYan, Zheng <zyan@redhat.com>
Mon, 20 Jul 2015 01:50:58 +0000 (09:50 +0800)
committerIlya Dryomov <idryomov@gmail.com>
Fri, 31 Jul 2015 08:38:53 +0000 (11:38 +0300)
commit4c2ed93bb2b80f0f68c9db1159517c83f6a2e0fe
treed3b9294d5c7ed7f4fef3b261a2d7e4f27ca8a582
parent9dc52c72802267d8565c863a5610348957efdbc6
ceph: always re-send cap flushes when MDS recovers

commit 4b952c89928d62f03b84549d86373512d2b678da makes the kclient
only re-send cap flush once during MDS failover. If the kclient sends
a cap flush after MDS enters reconnect stage but before MDS recovers.
The kclient will skip re-sending the same cap flush when MDS recovers.

This causes problem for newly created inode. The MDS handles cap
flushes before replaying unsafe requests, so it's possible that MDS
find corresponding inode is missing when handling cap flush. The fix
is reverting to old behaviour: always re-send when MDS recovers

Signed-off-by: Yan, Zheng <zyan@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/caps.c
fs/ceph/super.h