android_kernel_xiaomi_sm8450/fs/ceph
Xiubo Li 8e807eadf0 ceph: don't let check_caps skip sending responses for revoke msgs
commit 257e6172ab36ebbe295a6c9ee9a9dd0fe54c1dc2 upstream.

If a client sends out a cap update dropping caps with the prior 'seq'
just before an incoming cap revoke request, then the client may drop
the revoke because it believes it's already released the requested
capabilities.

This causes the MDS to wait indefinitely for the client to respond
to the revoke. It's therefore always a good idea to ack the cap
revoke request with the bumped up 'seq'.

Cc: stable@vger.kernel.org
Link: https://tracker.ceph.com/issues/61782
Signed-off-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Milind Changire <mchangir@redhat.com>
Reviewed-by: Patrick Donnelly <pdonnell@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-07-27 08:44:30 +02:00
..
acl.c ceph: add caps perf metric for each superblock 2020-06-01 13:22:51 +02:00
addr.c ceph: remove bogus checks and WARN_ONs from ceph_set_page_dirty 2021-07-20 16:05:48 +02:00
cache.c ceph: replace zero-length array with flexible-array member 2020-03-30 12:42:40 +02:00
cache.h libceph, rbd, ceph: convert to use the new mount API 2019-11-27 22:28:37 +01:00
caps.c ceph: don't let check_caps skip sending responses for revoke msgs 2023-07-27 08:44:30 +02:00
ceph_frag.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
debugfs.c ceph: metrics for opened files, pinned caps and opened inodes 2020-10-12 15:29:26 +02:00
dir.c ceph: fix memory leak in ceph_readdir when note_last_dentry returns error 2022-04-13 21:01:00 +02:00
export.c ceph: don't allow access to MDS-private inodes 2021-05-22 11:40:54 +02:00
file.c ceph: don't truncate file in atomic_open 2022-10-15 07:55:50 +02:00
inode.c ceph: fix handling of "meta" errors 2021-10-27 09:56:51 +02:00
io.c ceph: add buffered/direct exclusionary locking for reads and writes 2019-09-16 12:06:25 +02:00
io.h ceph: add buffered/direct exclusionary locking for reads and writes 2019-09-16 12:06:25 +02:00
ioctl.c ceph: consider inode's last read/write when calculating wanted caps 2020-03-30 12:42:42 +02:00
ioctl.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig libceph: replace HTTP links with HTTPS ones 2020-08-03 11:05:26 +02:00
locks.c ceph: switch to vfs_inode_has_locks() to fix file lock bug 2023-01-14 10:16:47 +01:00
Makefile ceph: add dentry lease metric support 2020-06-01 13:22:51 +02:00
mds_client.c ceph: flush cap releases when the session is flushed 2023-02-15 17:22:26 +01:00
mds_client.h ceph: flush mdlog before umounting 2022-12-02 17:40:03 +01:00
mdsmap.c ceph: fix possible null-pointer dereference in ceph_mdsmap_decode() 2021-09-08 08:49:01 +02:00
metric.c ceph: cancel delayed work instead of flushing on mdsc teardown 2021-09-26 14:08:58 +02:00
metric.h ceph: metrics for opened files, pinned caps and opened inodes 2020-10-12 15:29:26 +02:00
quota.c ceph: check session state after bumping session->s_seq 2020-11-04 20:55:49 +01:00
snap.c ceph: fix use-after-free bug for inodes when flushing capsnaps 2023-06-14 11:09:51 +02:00
strings.c ceph: flush mdlog before umounting 2022-12-02 17:40:03 +01:00
super.c ceph: properly handle statfs on multifs setups 2021-12-01 09:19:08 +01:00
super.h ceph: switch to vfs_inode_has_locks() to fix file lock bug 2023-01-14 10:16:47 +01:00
util.c ceph: move net/ceph/ceph_fs.c to fs/ceph/util.c 2020-01-27 16:53:40 +01:00
xattr.c ceph: allow ceph.dir.rctime xattr to be updatable 2022-06-14 18:32:44 +02:00