summaryrefslogtreecommitdiffstats
path: root/fs/ceph/super.h
diff options
context:
space:
mode:
authorYan, Zheng <zyan@redhat.com>2015-07-20 09:50:58 +0800
committerIlya Dryomov <idryomov@gmail.com>2015-07-31 11:38:53 +0300
commitfc927cd32feca2acefd90a4ac317fa4f0a2e5955 (patch)
treed3b9294d5c7ed7f4fef3b261a2d7e4f27ca8a582 /fs/ceph/super.h
parentf6762cb2ca48e9052b5233c338fa254fa58d8981 (diff)
downloadop-kernel-dev-fc927cd32feca2acefd90a4ac317fa4f0a2e5955.zip
op-kernel-dev-fc927cd32feca2acefd90a4ac317fa4f0a2e5955.tar.gz
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
OpenPOWER on IntegriCloud