linux-stable/fs/dlm
Alexander Aring fc4ea4229c fs: dlm: remove filter local comms on close
The current way how lowcomms is configured is due configfs entries. Each
comms configfs entry will create a lowcomms connection. Even the local
connection itself will be stored as a lowcomms connection, although most
functionality for a local lowcomms connection struct is not necessary.

Now in some scenarios we will see that dlm_controld reports a -EEXIST
when configure a node via configfs:

... /sys/kernel/config/dlm/cluster/comms/1/addr: write failed: 17 -1

Doing a:

cat /sys/kernel/config/dlm/cluster/comms/1/addr_list

reported nothing. This was being seen on cluster with nodeid 1 and it's
local configuration. To be sure the configfs entries are in sync with
lowcomms connection structures we always call dlm_midcomms_close() to be
sure the lowcomms connection gets removed when the configfs entry gets
dropped.

Before commit 07ee38674a ("fs: dlm: filter ourself midcomms calls") it
was just doing this by accident and the filter by doing:

if (nodeid == dlm_our_nodeid())
	return 0;

inside dlm_midcomms_close() was never been hit because drop_comm() sets
local_comm to NULL and cause that dlm_our_nodeid() returns always the
invalid nodeid 0.

Fixes: 07ee38674a ("fs: dlm: filter ourself midcomms calls")
Cc: stable@vger.kernel.org
Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
2023-06-20 09:25:20 -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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193 2019-05-30 11:29:21 -07:00
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 fs: dlm: add send ack threshold and append acks to msgs 2023-06-14 10:17:33 -05:00
lowcomms.h fs: dlm: remove socket shutdown handling 2022-11-21 09:45:49 -06:00
lvb_table.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193 2019-05-30 11:29:21 -07:00
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 treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193 2019-05-30 11:29:21 -07:00
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 mismatch of plock results from userspace 2023-05-24 14:27:07 -05:00
rcom.c fs: dlm: change dflags to use atomic bits 2023-03-06 15:49:07 -06:00
rcom.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193 2019-05-30 11:29:21 -07:00
recover.c fs: dlm: move internal flags to atomic ops 2023-03-06 15:49:07 -06:00
recover.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193 2019-05-30 11:29:21 -07:00
recoverd.c fs: dlm: remove deprecated code parts 2023-03-06 15:49:07 -06:00
recoverd.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193 2019-05-30 11:29:21 -07:00
requestqueue.c fs: dlm: avoid false-positive checker warning 2022-11-21 09:45:49 -06:00
requestqueue.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193 2019-05-30 11:29:21 -07:00
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