Commit | Line | Data |
---|---|---|
2522fe45 | 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
e7fd4179 DT |
2 | /****************************************************************************** |
3 | ******************************************************************************* | |
4 | ** | |
5 | ** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. | |
391fbdc5 | 6 | ** Copyright (C) 2004-2009 Red Hat, Inc. All rights reserved. |
e7fd4179 | 7 | ** |
e7fd4179 DT |
8 | ** |
9 | ******************************************************************************* | |
10 | ******************************************************************************/ | |
11 | ||
12 | #ifndef __LOWCOMMS_DOT_H__ | |
13 | #define __LOWCOMMS_DOT_H__ | |
14 | ||
489d8e55 AA |
15 | #include "dlm_internal.h" |
16 | ||
17 | #define DLM_MIDCOMMS_OPT_LEN sizeof(struct dlm_opts) | |
d10a0b88 | 18 | #define DLM_MAX_APP_BUFSIZE (DLM_MAX_SOCKET_BUFSIZE - \ |
489d8e55 AA |
19 | DLM_MIDCOMMS_OPT_LEN) |
20 | ||
37a247da AA |
21 | #define CONN_HASH_SIZE 32 |
22 | ||
23 | /* This is deliberately very simple because most clusters have simple | |
24 | * sequential nodeids, so we should be able to go straight to a connection | |
25 | * struct in the array | |
26 | */ | |
27 | static inline int nodeid_hash(int nodeid) | |
28 | { | |
29 | return nodeid & (CONN_HASH_SIZE-1); | |
30 | } | |
9f8f9c77 | 31 | |
1037c2a9 AA |
32 | /* check if dlm is running */ |
33 | bool dlm_lowcomms_is_running(void); | |
51746163 | 34 | |
e7fd4179 | 35 | int dlm_lowcomms_start(void); |
9d232469 | 36 | void dlm_lowcomms_shutdown(void); |
4f567acb | 37 | void dlm_lowcomms_shutdown_node(int nodeid, bool force); |
e7fd4179 | 38 | void dlm_lowcomms_stop(void); |
8b0188b0 | 39 | void dlm_lowcomms_init(void); |
36b71a8b | 40 | void dlm_lowcomms_exit(void); |
1c032c03 | 41 | int dlm_lowcomms_close(int nodeid); |
8f2dc78d | 42 | struct dlm_msg *dlm_lowcomms_new_msg(int nodeid, int len, gfp_t allocation, |
5c16febb AA |
43 | char **ppc, void (*cb)(void *data), |
44 | void *data); | |
8f2dc78d AA |
45 | void dlm_lowcomms_commit_msg(struct dlm_msg *msg); |
46 | void dlm_lowcomms_put_msg(struct dlm_msg *msg); | |
2874d1a6 | 47 | int dlm_lowcomms_resend_msg(struct dlm_msg *msg); |
391fbdc5 | 48 | int dlm_lowcomms_connect_node(int nodeid); |
e125fbeb | 49 | int dlm_lowcomms_nodes_set_mark(int nodeid, unsigned int mark); |
36b71a8b | 50 | int dlm_lowcomms_addr(int nodeid, struct sockaddr_storage *addr, int len); |
b97f8525 | 51 | void dlm_midcomms_receive_done(int nodeid); |
3af2326c | 52 | struct kmem_cache *dlm_lowcomms_writequeue_cache_create(void); |
e4dc81ed | 53 | struct kmem_cache *dlm_lowcomms_msg_cache_create(void); |
e7fd4179 DT |
54 | |
55 | #endif /* __LOWCOMMS_DOT_H__ */ | |
56 |