config.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. #ifndef __CONFIG_DOT_H__
  12. #define __CONFIG_DOT_H__
  13. #define DLM_MAX_SOCKET_BUFSIZE 4096
  14. struct dlm_config_node {
  15. int nodeid;
  16. int weight;
  17. bool gone;
  18. int new;
  19. uint32_t comm_seq;
  20. unsigned int release_recover;
  21. };
  22. extern const struct rhashtable_params dlm_rhash_rsb_params;
  23. #define DLM_MAX_ADDR_COUNT 8
  24. #define DLM_PROTO_TCP 0
  25. #define DLM_PROTO_SCTP 1
  26. struct dlm_config_info {
  27. __be16 ci_tcp_port;
  28. unsigned int ci_buffer_size;
  29. unsigned int ci_rsbtbl_size;
  30. unsigned int ci_recover_timer;
  31. unsigned int ci_toss_secs;
  32. unsigned int ci_scan_secs;
  33. unsigned int ci_log_debug;
  34. unsigned int ci_log_info;
  35. unsigned int ci_protocol;
  36. unsigned int ci_mark;
  37. unsigned int ci_new_rsb_count;
  38. unsigned int ci_recover_callbacks;
  39. char ci_cluster_name[DLM_LOCKSPACE_LEN];
  40. };
  41. extern struct dlm_config_info dlm_config;
  42. int dlm_config_init(void);
  43. void dlm_config_exit(void);
  44. int dlm_config_nodes(char *lsname, struct dlm_config_node **nodes_out,
  45. int *count_out);
  46. int dlm_comm_seq(int nodeid, uint32_t *seq, bool locked);
  47. int dlm_our_nodeid(void);
  48. int dlm_our_addr(struct sockaddr_storage *addr, int num);
  49. #endif /* __CONFIG_DOT_H__ */