Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0-only */
2/******************************************************************************
3*******************************************************************************
4**
5** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
6** Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved.
7**
8**
9*******************************************************************************
10******************************************************************************/
11
12#ifndef __CONFIG_DOT_H__
13#define __CONFIG_DOT_H__
14
15#define DLM_MAX_SOCKET_BUFSIZE 4096
16
17struct dlm_config_node {
18 int nodeid;
19 int weight;
20 bool gone;
21 int new;
22 uint32_t comm_seq;
23 unsigned int release_recover;
24};
25
26extern const struct rhashtable_params dlm_rhash_rsb_params;
27
28#define DLM_MAX_ADDR_COUNT 8
29
30#define DLM_PROTO_TCP 0
31#define DLM_PROTO_SCTP 1
32
33struct dlm_config_info {
34 __be16 ci_tcp_port;
35 unsigned int ci_buffer_size;
36 unsigned int ci_rsbtbl_size;
37 unsigned int ci_recover_timer;
38 unsigned int ci_toss_secs;
39 unsigned int ci_scan_secs;
40 unsigned int ci_log_debug;
41 unsigned int ci_log_info;
42 unsigned int ci_protocol;
43 unsigned int ci_mark;
44 unsigned int ci_new_rsb_count;
45 unsigned int ci_recover_callbacks;
46 char ci_cluster_name[DLM_LOCKSPACE_LEN];
47};
48
49extern struct dlm_config_info dlm_config;
50
51int dlm_config_init(void);
52void dlm_config_exit(void);
53int dlm_config_nodes(char *lsname, struct dlm_config_node **nodes_out,
54 int *count_out);
55int dlm_comm_seq(int nodeid, uint32_t *seq, bool locked);
56int dlm_our_nodeid(void);
57int dlm_our_addr(struct sockaddr_storage *addr, int num);
58
59#endif /* __CONFIG_DOT_H__ */
60