]> www.infradead.org Git - users/jedix/linux-maple.git/commit
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Feb 2023 11:59:45 +0000 (12:59 +0100)
commit66ec619e4591f8350f99c5269a7ce160cccc7a7c
tree514062f2153f04ccd53a72e2a5d58afb383c4d30
parenteb253f83d403a4d5f9a6160fe95a56257d358601
ceph: blocklist the kclient when receiving corrupted snap trace

[ Upstream commit a68e564adcaa69b0930809fb64d9d5f7d9c32ba9 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
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