Commit 296b75ed authored by Andrew Beekhof's avatar Andrew Beekhof Committed by Mark Fasheh

[patch 1/3] OCFS2 - Expose struct o2nm_cluster

Subsequent patches (namely userspace heartbeat and configurable timeouts)
require access to the o2nm_cluster struct.  This patch does the necessary
shuffling.
Signed-off-by: default avatarAndrew Beekhof <abeekhof@suse.de>
Signed-off-by: default avatarMark Fasheh <mark.fasheh@oracle.com>
parent 8903901d
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
/* for now we operate under the assertion that there can be only one /* for now we operate under the assertion that there can be only one
* cluster active at a time. Changing this will require trickling * cluster active at a time. Changing this will require trickling
* cluster references throughout where nodes are looked up */ * cluster references throughout where nodes are looked up */
static struct o2nm_cluster *o2nm_single_cluster = NULL; struct o2nm_cluster *o2nm_single_cluster = NULL;
#define OCFS2_MAX_HB_CTL_PATH 256 #define OCFS2_MAX_HB_CTL_PATH 256
static char ocfs2_hb_ctl_path[OCFS2_MAX_HB_CTL_PATH] = "/sbin/ocfs2_hb_ctl"; static char ocfs2_hb_ctl_path[OCFS2_MAX_HB_CTL_PATH] = "/sbin/ocfs2_hb_ctl";
...@@ -97,17 +97,6 @@ const char *o2nm_get_hb_ctl_path(void) ...@@ -97,17 +97,6 @@ const char *o2nm_get_hb_ctl_path(void)
} }
EXPORT_SYMBOL_GPL(o2nm_get_hb_ctl_path); EXPORT_SYMBOL_GPL(o2nm_get_hb_ctl_path);
struct o2nm_cluster {
struct config_group cl_group;
unsigned cl_has_local:1;
u8 cl_local_node;
rwlock_t cl_nodes_lock;
struct o2nm_node *cl_nodes[O2NM_MAX_NODES];
struct rb_root cl_node_ip_tree;
/* this bitmap is part of a hack for disk bitmap.. will go eventually. - zab */
unsigned long cl_nodes_bitmap[BITS_TO_LONGS(O2NM_MAX_NODES)];
};
struct o2nm_node *o2nm_get_node_by_num(u8 node_num) struct o2nm_node *o2nm_get_node_by_num(u8 node_num)
{ {
struct o2nm_node *node = NULL; struct o2nm_node *node = NULL;
......
...@@ -53,6 +53,20 @@ struct o2nm_node { ...@@ -53,6 +53,20 @@ struct o2nm_node {
unsigned long nd_set_attributes; unsigned long nd_set_attributes;
}; };
struct o2nm_cluster {
struct config_group cl_group;
unsigned cl_has_local:1;
u8 cl_local_node;
rwlock_t cl_nodes_lock;
struct o2nm_node *cl_nodes[O2NM_MAX_NODES];
struct rb_root cl_node_ip_tree;
/* this bitmap is part of a hack for disk bitmap.. will go eventually. - zab */
unsigned long cl_nodes_bitmap[BITS_TO_LONGS(O2NM_MAX_NODES)];
};
extern struct o2nm_cluster *o2nm_single_cluster;
u8 o2nm_this_node(void); u8 o2nm_this_node(void);
int o2nm_configured_node_map(unsigned long *map, unsigned bytes); int o2nm_configured_node_map(unsigned long *map, unsigned bytes);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment