linux-stable/fs/ceph
Xiubo Li 66ec619e45 ceph: blocklist the kclient when receiving corrupted snap trace
[ Upstream commit a68e564adc ]

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>
2023-02-22 12:59:45 +01:00
..
acl.c
addr.c ceph: blocklist the kclient when receiving corrupted snap trace 2023-02-22 12:59:45 +01:00
cache.c netfs: Fix gcc-12 warning by embedding vfs inode in netfs_i_context 2022-06-09 13:55:00 -07:00
cache.h netfs: Further cleanups after struct netfs_inode wrapper introduced 2022-06-10 20:55:21 +01:00
caps.c ceph: blocklist the kclient when receiving corrupted snap trace 2023-02-22 12:59:45 +01:00
ceph_frag.c
debugfs.c ceph: use tracked average r/w/m latencies to display metrics in debugfs 2022-03-21 13:35:16 +01:00
dir.c ceph: wait for the first reply of inflight async unlink 2022-08-03 00:54:12 +02:00
export.c ceph: fail the open_by_handle_at() if the dentry is being unlinked 2022-10-04 19:18:08 +02:00
file.c ceph: blocklist the kclient when receiving corrupted snap trace 2023-02-22 12:59:45 +01:00
inode.c ceph: fix a NULL vs IS_ERR() check when calling ceph_lookup_inode() 2022-11-14 10:29:05 +01:00
io.c
io.h
ioctl.c
ioctl.h
Kconfig ceph: conversion to new fscache API 2022-01-11 22:13:01 +00:00
locks.c ceph: switch to vfs_inode_has_locks() to fix file lock bug 2023-01-12 12:02:23 +01:00
Makefile
mds_client.c ceph: blocklist the kclient when receiving corrupted snap trace 2023-02-22 12:59:45 +01:00
mds_client.h ceph: fail the request if the peer MDS doesn't support getvxattr op 2022-10-04 19:18:08 +02:00
mdsmap.c treewide: use prandom_u32_max() when possible, part 1 2022-10-11 17:42:55 -06:00
metric.c ceph: include average/stdev r/w/m latency in mds metrics 2022-03-21 13:35:16 +01:00
metric.h ceph: include average/stdev r/w/m latency in mds metrics 2022-03-21 13:35:16 +01:00
quota.c ceph: fix statfs for subdir mounts 2022-05-25 20:45:14 +02:00
snap.c ceph: blocklist the kclient when receiving corrupted snap trace 2023-02-22 12:59:45 +01:00
strings.c ceph: add getvxattr op 2022-03-01 18:26:37 +01:00
super.c ceph: make f_bsize always equal to f_frsize 2022-08-03 00:54:13 +02:00
super.h ceph: blocklist the kclient when receiving corrupted snap trace 2023-02-22 12:59:45 +01:00
util.c
xattr.c ceph: prevent a client from exceeding the MDS maximum xattr size 2022-08-03 00:54:12 +02:00