mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 20:48:49 +08:00
a070a91cf1
This patch prepares hooks to redirect to the midcomms layer which will be used by the midcomms re-transmit handling. There exists the new concept of stateless buffers allocation and commits. This can be used to bypass the midcomms re-transmit handling. It is used by RCOM_STATUS and RCOM_NAMES messages, because they have their own ping-like re-transmit handling. As well these two messages will be used to determine the DLM version per node, because these two messages are per observation the first messages which are exchanged. Cluster manager events for node membership are added to add support for half-closed connections in cases that the peer connection get to an end of file but DLM still holds membership of the node. In this time DLM can still trigger new message which we should allow. After the cluster manager node removal event occurs it safe to close the connection. Signed-off-by: Alexander Aring <aahringo@redhat.com> Signed-off-by: David Teigland <teigland@redhat.com>
27 lines
1.0 KiB
C
27 lines
1.0 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/******************************************************************************
|
|
*******************************************************************************
|
|
**
|
|
** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
|
|
** Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved.
|
|
**
|
|
**
|
|
*******************************************************************************
|
|
******************************************************************************/
|
|
|
|
#ifndef __MIDCOMMS_DOT_H__
|
|
#define __MIDCOMMS_DOT_H__
|
|
|
|
int dlm_process_incoming_buffer(int nodeid, unsigned char *buf, int buflen);
|
|
struct dlm_mhandle *dlm_midcomms_get_mhandle(int nodeid, int len,
|
|
gfp_t allocation, char **ppc);
|
|
void dlm_midcomms_commit_mhandle(struct dlm_mhandle *mh);
|
|
int dlm_midcomms_close(int nodeid);
|
|
int dlm_midcomms_start(void);
|
|
void dlm_midcomms_shutdown(void);
|
|
void dlm_midcomms_add_member(int nodeid);
|
|
void dlm_midcomms_remove_member(int nodeid);
|
|
|
|
#endif /* __MIDCOMMS_DOT_H__ */
|
|
|