linux-sg2042/fs/dlm
Marcelo Ricardo Leitner acee4e527d dlm: replace BUG_ON with a less severe handling
BUG_ON() is a severe action for this case, specially now that DLM with
SCTP will use 1 socket per association. Instead, we can just close the
socket on this error condition and return from the function.

Also move the check to an earlier stage as it won't change and thus we
can abort as soon as possible.

Although this issue was reported when still using SCTP with 1-to-many
API, this cleanup wouldn't be that simple back then because we couldn't
close the socket and making sure such event would cease would be hard.
And actually, previous code was closing the association, yet SCTP layer
is still raising the new data event. Probably a bug to be fixed in SCTP.

Reported-by: <tan.hu@zte.com.cn>
Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: David Teigland <teigland@redhat.com>
2015-08-17 16:22:21 -05:00
..
Kconfig fs/dlm: remove CONFIG_EXPERIMENTAL 2012-11-01 15:27:24 -05:00
Makefile dlm: move plock code from gfs2 2008-04-21 11:22:28 -05:00
ast.c dlm: use INFO for recovery messages 2014-02-14 11:54:44 -06:00
ast.h dlm: use workqueue for callbacks 2011-07-15 12:30:43 -05:00
config.c fs/dlm/config.c: convert simple_str to kstr 2014-06-06 16:08:17 -07:00
config.h dlm: fix deadlock between dlm_send and dlm_controld 2012-08-08 11:33:35 -05:00
debug_fs.c dlm: Use seq_puts() instead of seq_printf() for constant strings 2014-11-05 14:13:09 -05:00
dir.c dlm: use INFO for recovery messages 2014-02-14 11:54:44 -06:00
dir.h dlm: use rsbtbl as resource directory 2012-07-16 14:16:19 -05:00
dlm_internal.h dlm: use INFO for recovery messages 2014-02-14 11:54:44 -06:00
lock.c dlm: adopt orphan locks 2014-11-19 14:48:02 -06:00
lock.h dlm: adopt orphan locks 2014-11-19 14:48:02 -06:00
lockspace.c fs/dlm/lockspace.c: convert simple_str to kstr 2014-06-06 16:08:18 -07:00
lockspace.h dlm: detect available userspace daemon 2008-08-28 11:49:43 -05:00
lowcomms.c dlm: replace BUG_ON with a less severe handling 2015-08-17 16:22:21 -05:00
lowcomms.h dlm: fix deadlock between dlm_send and dlm_controld 2012-08-08 11:33:35 -05:00
lvb_table.h
main.c dlm: fix deadlock between dlm_send and dlm_controld 2012-08-08 11:33:35 -05:00
member.c dlm: use INFO for recovery messages 2014-02-14 11:54:44 -06:00
member.h dlm: add recovery callbacks 2012-01-04 08:56:31 -06:00
memory.c dlm: NULL dereference on failure in kmem_cache_create() 2012-05-15 10:39:28 -05:00
memory.h dlm: improve rsb searches 2011-07-12 16:02:09 -05:00
midcomms.c dlm: fix up memory allocation flags 2008-12-23 10:15:40 -06:00
midcomms.h
netlink.c netlink: make nlmsg_end() and genlmsg_end() void 2015-01-18 01:03:45 -05:00
plock.c locks: Remove unused conf argument from lm_grant 2014-09-09 16:01:06 -04:00
rcom.c dlm: fix missing endian conversion of rcom_status flags 2014-10-14 15:11:48 -05:00
rcom.h dlm: use rsbtbl as resource directory 2012-07-16 14:16:19 -05:00
recover.c dlm: use INFO for recovery messages 2014-02-14 11:54:44 -06:00
recover.h dlm: use rsbtbl as resource directory 2012-07-16 14:16:19 -05:00
recoverd.c dlm: use INFO for recovery messages 2014-02-14 11:54:44 -06:00
recoverd.h dlm: fix unlock balance warnings 2012-08-08 11:33:49 -05:00
requestqueue.c dlm: fixes for nodir mode 2012-05-02 14:15:27 -05:00
requestqueue.h dlm: use proper C for dlm/requestqueue stuff (and fix alignment bug) 2008-02-04 01:21:32 -06:00
user.c dlm: adopt orphan locks 2014-11-19 14:48:02 -06:00
user.h dlm: record full callback state 2011-03-10 10:40:00 -06:00
util.c dlm: do not byteswap rcom_config 2008-02-04 01:23:43 -06:00
util.h