linux-stable/fs/dlm
Alexander Aring dc52cd2eff fs: dlm: fix F_CANCELLK to cancel pending request
This patch fixes the current handling of F_CANCELLK by not just doing a
unlock as we need to try to cancel a lock at first. A unlock makes sense
on a non-blocking lock request but if it's a blocking lock request we
need to cancel the request until it's not granted yet. This patch is fixing
this behaviour by first try to cancel a lock request and if it's failed
it's unlocking the lock which seems to be granted.

Note: currently the nfs locking handling was disabled by commit
40595cdc93 ("nfs: block notification on fs with its own ->lock").
However DLM was never being updated regarding to this change. Future
patches will try to fix lockd lock requests for DLM. This patch is
currently assuming the upstream DLM lockd handling is correct.

Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
2023-07-20 17:25:04 -05:00
..
ast.c fs: dlm: move dlm_purge_lkb_callbacks to user module 2023-06-14 10:17:33 -05:00
ast.h fs: dlm: move dlm_purge_lkb_callbacks to user module 2023-06-14 10:17:33 -05:00
config.c fs: dlm: remove filter local comms on close 2023-06-20 09:25:20 -05:00
config.h fs: dlm: remove deprecated code parts 2023-03-06 15:49:07 -06:00
debug_fs.c fs: dlm: move internal flags to atomic ops 2023-03-06 15:49:07 -06:00
dir.c dlm: use __le types for dlm header 2022-04-06 14:02:28 -05:00
dir.h
dlm_internal.h fs: dlm: handle lkb wait count as atomic_t 2023-06-14 10:17:33 -05:00
Kconfig fs: dlm: remove deprecated code parts 2023-03-06 15:49:07 -06:00
lock.c fs: dlm: handle lkb wait count as atomic_t 2023-06-14 10:17:33 -05:00
lock.h fs: dlm: remove deprecated code parts 2023-03-06 15:49:07 -06:00
lockspace.c fs: dlm: revert check required context while close 2023-06-14 10:17:33 -05:00
lockspace.h fs: dlm: revert check required context while close 2023-06-14 10:17:33 -05:00
lowcomms.c dlm for 6.5 2023-06-29 13:27:50 -07:00
lowcomms.h fs: dlm: remove socket shutdown handling 2022-11-21 09:45:49 -06:00
lvb_table.h
main.c fs: dlm: unregister memory at the very last 2023-06-14 10:17:33 -05:00
Makefile fs: dlm: remove deprecated code parts 2023-03-06 15:49:07 -06:00
member.c fs: dlm: filter ourself midcomms calls 2023-06-14 10:17:33 -05:00
member.h
memory.c fs: dlm: change dflags to use atomic bits 2023-03-06 15:49:07 -06:00
memory.h fs: dlm: allow different allocation context per _create_message 2022-11-08 12:59:41 -06:00
midcomms.c fs: dlm: add send ack threshold and append acks to msgs 2023-06-14 10:17:33 -05:00
midcomms.h fs: dlm: wait until all midcomms nodes detect version 2023-01-23 14:58:19 -06:00
plock.c fs: dlm: fix F_CANCELLK to cancel pending request 2023-07-20 17:25:04 -05:00
rcom.c fs: dlm: change dflags to use atomic bits 2023-03-06 15:49:07 -06:00
rcom.h
recover.c fs: dlm: move internal flags to atomic ops 2023-03-06 15:49:07 -06:00
recover.h
recoverd.c fs: dlm: remove deprecated code parts 2023-03-06 15:49:07 -06:00
recoverd.h
requestqueue.c fs: dlm: avoid false-positive checker warning 2022-11-21 09:45:49 -06:00
requestqueue.h
user.c fs: dlm: move dlm_purge_lkb_callbacks to user module 2023-06-14 10:17:33 -05:00
user.h fs: dlm: move dlm_purge_lkb_callbacks to user module 2023-06-14 10:17:33 -05:00
util.c dlm: use __le types for dlm messages 2022-04-06 14:02:37 -05:00
util.h dlm: use __le types for dlm messages 2022-04-06 14:02:37 -05:00