ceph: switch to use cap_delay_lock for the unlink delay list
authorXiubo Li <xiubli@redhat.com>
Tue, 9 Apr 2024 00:56:03 +0000 (08:56 +0800)
committerIlya Dryomov <idryomov@gmail.com>
Thu, 11 Apr 2024 20:56:28 +0000 (22:56 +0200)
commit17f8dc2db52185460f212052f3a692c1fdc167ba
tree02b53d747a4748717cb65c430053d609133e935d
parentb372e96bd0a32729d55d27f613c8bc80708a82e1
ceph: switch to use cap_delay_lock for the unlink delay list

The same list item will be used in both cap_delay_list and
cap_unlink_delay_list, so it's buggy to use two different locks
to protect them.

Cc: stable@vger.kernel.org
Fixes: dbc347ef7f0c ("ceph: add ceph_cap_unlink_work to fire check_caps() immediately")
Link: https://lists.ceph.io/hyperkitty/list/ceph-users@ceph.io/thread/AODC76VXRAMXKLFDCTK4TKFDDPWUSCN5
Reported-by: Marc Ruhmann <ruhmann@luis.uni-hannover.de>
Signed-off-by: Xiubo Li <xiubli@redhat.com>
Reviewed-by: Ilya Dryomov <idryomov@gmail.com>
Tested-by: Marc Ruhmann <ruhmann@luis.uni-hannover.de>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/caps.c
fs/ceph/mds_client.c
fs/ceph/mds_client.h