mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-14 15:54:15 +08:00
387c303894
[ Upstream commite01c4b7bd4
] This patch adds tracepoints for send and recv cases of dlm messages and dlm rcom messages. In case of send and dlm message we add the dlm rsb resource name this dlm messages belongs to. This has the advantage to follow dlm messages on a per lock basis. In case of recv message the resource name can be extracted by follow the send message sequence number. The dlm message DLM_MSG_PURGE doesn't belong to a lock request and will not set the resource name in a dlm_message trace. The same for all rcom messages. There is additional handling required for this debugging functionality which is tried to be small as possible. Also the midcomms layer gets aware of lock resource names, for now this is required to make a connection between sequence number and lock resource names. It is for debugging purpose only. Signed-off-by: Alexander Aring <aahringo@redhat.com> Signed-off-by: David Teigland <teigland@redhat.com> Stable-dep-of:724b6bab0d
("fs: dlm: fix use after free in midcomms commit") Signed-off-by: Sasha Levin <sashal@kernel.org>
41 lines
1.6 KiB
C
41 lines
1.6 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__
|
|
|
|
struct midcomms_node;
|
|
|
|
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, const void *name,
|
|
int namelen);
|
|
int dlm_midcomms_close(int nodeid);
|
|
int dlm_midcomms_start(void);
|
|
void dlm_midcomms_stop(void);
|
|
void dlm_midcomms_init(void);
|
|
void dlm_midcomms_exit(void);
|
|
void dlm_midcomms_shutdown(void);
|
|
void dlm_midcomms_add_member(int nodeid);
|
|
void dlm_midcomms_remove_member(int nodeid);
|
|
void dlm_midcomms_unack_msg_resend(int nodeid);
|
|
const char *dlm_midcomms_state(struct midcomms_node *node);
|
|
unsigned long dlm_midcomms_flags(struct midcomms_node *node);
|
|
int dlm_midcomms_send_queue_cnt(struct midcomms_node *node);
|
|
uint32_t dlm_midcomms_version(struct midcomms_node *node);
|
|
int dlm_midcomms_rawmsg_send(struct midcomms_node *node, void *buf,
|
|
int buflen);
|
|
struct kmem_cache *dlm_midcomms_cache_create(void);
|
|
|
|
#endif /* __MIDCOMMS_DOT_H__ */
|
|
|