ceph: blocklist the kclient when receiving corrupted snap trace
authorXiubo Li <xiubli@redhat.com>
Wed, 1 Feb 2023 01:36:45 +0000 (09:36 +0800)
committerIlya Dryomov <idryomov@gmail.com>
Thu, 2 Feb 2023 12:58:15 +0000 (13:58 +0100)
commita68e564adcaa69b0930809fb64d9d5f7d9c32ba9
tree061fa00fa614c4a83aec06c620905dfe2a0eff5e
parentb38b17b6a01ca4e738af097a1529910646ef4270
ceph: blocklist the kclient when receiving corrupted snap trace

When received corrupted snap trace we don't know what exactly has
happened in MDS side. And we shouldn't continue IOs and metadatas
access to MDS, which may corrupt or get incorrect contents.

This patch will just block all the further IO/MDS requests
immediately and then evict the kclient itself.

The reason why we still need to evict the kclient just after
blocking all the further IOs is that the MDS could revoke the caps
faster.

Link: https://tracker.ceph.com/issues/57686
Signed-off-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/addr.c
fs/ceph/caps.c
fs/ceph/file.c
fs/ceph/mds_client.c
fs/ceph/snap.c
fs/ceph/super.h