summaryrefslogtreecommitdiff
path: root/fs/ceph/super.h
diff options
context:
space:
mode:
authorYan, Zheng <zyan@redhat.com>2015-07-20 01:50:58 (GMT)
committerIlya Dryomov <idryomov@gmail.com>2015-07-31 08:38:53 (GMT)
commitfc927cd32feca2acefd90a4ac317fa4f0a2e5955 (patch)
treed3b9294d5c7ed7f4fef3b261a2d7e4f27ca8a582 /fs/ceph/super.h
parentf6762cb2ca48e9052b5233c338fa254fa58d8981 (diff)
downloadlinux-fc927cd32feca2acefd90a4ac317fa4f0a2e5955.tar.xz
ceph: always re-send cap flushes when MDS recovers
commit e548e9b93d3e565e42b938a99804114565be1f81 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>
Diffstat (limited to 'fs/ceph/super.h')
-rw-r--r--fs/ceph/super.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/fs/ceph/super.h b/fs/ceph/super.h
index 860cc016..2f2460d 100644
--- a/fs/ceph/super.h
+++ b/fs/ceph/super.h
@@ -189,7 +189,6 @@ static inline void ceph_put_cap_snap(struct ceph_cap_snap *capsnap)
struct ceph_cap_flush {
u64 tid;
int caps;
- bool kick;
struct rb_node g_node; // global
union {
struct rb_node i_node; // inode