diff options
author | Yan, Zheng <zyan@redhat.com> | 2015-07-20 09:50:58 +0800 |
---|---|---|
committer | Ilya Dryomov <idryomov@gmail.com> | 2015-07-31 11:38:53 +0300 |
commit | fc927cd32feca2acefd90a4ac317fa4f0a2e5955 (patch) | |
tree | d3b9294d5c7ed7f4fef3b261a2d7e4f27ca8a582 /fs/ceph/super.h | |
parent | f6762cb2ca48e9052b5233c338fa254fa58d8981 (diff) | |
download | op-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.h | 1 |
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 |