ceph: add ceph_cap_unlink_work to fire check_caps() immediately
authorXiubo Li <xiubli@redhat.com>
Thu, 14 Sep 2023 02:29:16 +0000 (10:29 +0800)
committerIlya Dryomov <idryomov@gmail.com>
Tue, 13 Feb 2024 10:22:54 +0000 (11:22 +0100)
commitdbc347ef7f0c53aa4a5383238a804d7ebbb0b5ca
tree7811652d808df61ba2579825b9de4b2ff4e5c0a3
parent902d6d013f75b68f31d208c6f3ff9cdca82648a7
ceph: add ceph_cap_unlink_work to fire check_caps() immediately

When unlinking a file the check caps could be delayed for more than
5 seconds, but in MDS side it maybe waiting for the clients to
release caps.

This will use the cap_wq work queue and a dedicated list to help
fire the check_caps() and dirty buffer flushing immediately.

Link: https://tracker.ceph.com/issues/50223
Signed-off-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Milind Changire <mchangir@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/caps.c
fs/ceph/mds_client.c
fs/ceph/mds_client.h