Lines Matching refs:cluster

62 	struct o2nm_cluster *cluster = o2nm_single_cluster;  in o2nm_configured_node_map()  local
64 BUG_ON(bytes < (sizeof(cluster->cl_nodes_bitmap))); in o2nm_configured_node_map()
66 if (cluster == NULL) in o2nm_configured_node_map()
69 read_lock(&cluster->cl_nodes_lock); in o2nm_configured_node_map()
70 memcpy(map, cluster->cl_nodes_bitmap, sizeof(cluster->cl_nodes_bitmap)); in o2nm_configured_node_map()
71 read_unlock(&cluster->cl_nodes_lock); in o2nm_configured_node_map()
77 static struct o2nm_node *o2nm_node_ip_tree_lookup(struct o2nm_cluster *cluster, in o2nm_node_ip_tree_lookup() argument
82 struct rb_node **p = &cluster->cl_node_ip_tree.rb_node; in o2nm_node_ip_tree_lookup()
115 struct o2nm_cluster *cluster = o2nm_single_cluster; in o2nm_get_node_by_ip() local
117 if (cluster == NULL) in o2nm_get_node_by_ip()
120 read_lock(&cluster->cl_nodes_lock); in o2nm_get_node_by_ip()
121 node = o2nm_node_ip_tree_lookup(cluster, addr, NULL, NULL); in o2nm_get_node_by_ip()
124 read_unlock(&cluster->cl_nodes_lock); in o2nm_get_node_by_ip()
197 struct o2nm_cluster *cluster = to_o2nm_cluster_from_node(node); in o2nm_node_num_store() local
217 write_lock(&cluster->cl_nodes_lock); in o2nm_node_num_store()
218 if (cluster->cl_nodes[tmp]) in o2nm_node_num_store()
224 cluster->cl_nodes[tmp] = node; in o2nm_node_num_store()
226 set_bit(tmp, cluster->cl_nodes_bitmap); in o2nm_node_num_store()
228 write_unlock(&cluster->cl_nodes_lock); in o2nm_node_num_store()
272 struct o2nm_cluster *cluster = to_o2nm_cluster_from_node(node); in o2nm_node_ipv4_address_store() local
290 write_lock(&cluster->cl_nodes_lock); in o2nm_node_ipv4_address_store()
291 if (o2nm_node_ip_tree_lookup(cluster, ipv4_addr, &p, &parent)) in o2nm_node_ipv4_address_store()
298 rb_insert_color(&node->nd_ip_node, &cluster->cl_node_ip_tree); in o2nm_node_ipv4_address_store()
300 write_unlock(&cluster->cl_nodes_lock); in o2nm_node_ipv4_address_store()
318 struct o2nm_cluster *cluster = to_o2nm_cluster_from_node(node); in o2nm_node_local_store() local
338 if (tmp && tmp == cluster->cl_has_local && in o2nm_node_local_store()
339 cluster->cl_local_node != node->nd_num) in o2nm_node_local_store()
343 if (tmp && !cluster->cl_has_local) { in o2nm_node_local_store()
349 if (!tmp && cluster->cl_has_local && in o2nm_node_local_store()
350 cluster->cl_local_node == node->nd_num) { in o2nm_node_local_store()
352 cluster->cl_local_node = O2NM_INVALID_NODE_NUM; in o2nm_node_local_store()
357 cluster->cl_has_local = tmp; in o2nm_node_local_store()
358 cluster->cl_local_node = node->nd_num; in o2nm_node_local_store()
432 struct o2nm_cluster *cluster = to_o2nm_cluster(item); in o2nm_cluster_idle_timeout_ms_store() local
439 if (cluster->cl_idle_timeout_ms != val in o2nm_cluster_idle_timeout_ms_store()
447 } else if (val <= cluster->cl_keepalive_delay_ms) { in o2nm_cluster_idle_timeout_ms_store()
452 cluster->cl_idle_timeout_ms = val; in o2nm_cluster_idle_timeout_ms_store()
469 struct o2nm_cluster *cluster = to_o2nm_cluster(item); in o2nm_cluster_keepalive_delay_ms_store() local
476 if (cluster->cl_keepalive_delay_ms != val in o2nm_cluster_keepalive_delay_ms_store()
484 } else if (val >= cluster->cl_idle_timeout_ms) { in o2nm_cluster_keepalive_delay_ms_store()
489 cluster->cl_keepalive_delay_ms = val; in o2nm_cluster_keepalive_delay_ms_store()
513 struct o2nm_cluster *cluster = to_o2nm_cluster(item); in o2nm_cluster_fence_method_show() local
516 if (cluster) in o2nm_cluster_fence_method_show()
518 o2nm_fence_method_desc[cluster->cl_fence_method]); in o2nm_cluster_fence_method_show()
585 struct o2nm_cluster *cluster = to_o2nm_cluster(group->cg_item.ci_parent); in o2nm_node_group_drop_item() local
589 if (cluster->cl_has_local && in o2nm_node_group_drop_item()
590 (cluster->cl_local_node == node->nd_num)) { in o2nm_node_group_drop_item()
591 cluster->cl_has_local = 0; in o2nm_node_group_drop_item()
592 cluster->cl_local_node = O2NM_INVALID_NODE_NUM; in o2nm_node_group_drop_item()
598 write_lock(&cluster->cl_nodes_lock); in o2nm_node_group_drop_item()
602 rb_erase(&node->nd_ip_node, &cluster->cl_node_ip_tree); in o2nm_node_group_drop_item()
605 if (cluster->cl_nodes[node->nd_num] == node) { in o2nm_node_group_drop_item()
606 cluster->cl_nodes[node->nd_num] = NULL; in o2nm_node_group_drop_item()
607 clear_bit(node->nd_num, cluster->cl_nodes_bitmap); in o2nm_node_group_drop_item()
609 write_unlock(&cluster->cl_nodes_lock); in o2nm_node_group_drop_item()
631 struct o2nm_cluster *cluster = to_o2nm_cluster(item); in o2nm_cluster_release() local
633 kfree(cluster->cl_group.default_groups); in o2nm_cluster_release()
634 kfree(cluster); in o2nm_cluster_release()
666 struct o2nm_cluster *cluster = NULL; in o2nm_cluster_group_make_group() local
676 cluster = kzalloc(sizeof(struct o2nm_cluster), GFP_KERNEL); in o2nm_cluster_group_make_group()
680 if (cluster == NULL || ns == NULL || o2hb_group == NULL || defs == NULL) in o2nm_cluster_group_make_group()
683 config_group_init_type_name(&cluster->cl_group, name, in o2nm_cluster_group_make_group()
688 cluster->cl_group.default_groups = defs; in o2nm_cluster_group_make_group()
689 cluster->cl_group.default_groups[0] = &ns->ns_group; in o2nm_cluster_group_make_group()
690 cluster->cl_group.default_groups[1] = o2hb_group; in o2nm_cluster_group_make_group()
691 cluster->cl_group.default_groups[2] = NULL; in o2nm_cluster_group_make_group()
692 rwlock_init(&cluster->cl_nodes_lock); in o2nm_cluster_group_make_group()
693 cluster->cl_node_ip_tree = RB_ROOT; in o2nm_cluster_group_make_group()
694 cluster->cl_reconnect_delay_ms = O2NET_RECONNECT_DELAY_MS_DEFAULT; in o2nm_cluster_group_make_group()
695 cluster->cl_idle_timeout_ms = O2NET_IDLE_TIMEOUT_MS_DEFAULT; in o2nm_cluster_group_make_group()
696 cluster->cl_keepalive_delay_ms = O2NET_KEEPALIVE_DELAY_MS_DEFAULT; in o2nm_cluster_group_make_group()
697 cluster->cl_fence_method = O2NM_FENCE_RESET; in o2nm_cluster_group_make_group()
699 ret = &cluster->cl_group; in o2nm_cluster_group_make_group()
700 o2nm_single_cluster = cluster; in o2nm_cluster_group_make_group()
704 kfree(cluster); in o2nm_cluster_group_make_group()
716 struct o2nm_cluster *cluster = to_o2nm_cluster(item); in o2nm_cluster_group_drop_item() local
720 BUG_ON(o2nm_single_cluster != cluster); in o2nm_cluster_group_drop_item()
723 for (i = 0; cluster->cl_group.default_groups[i]; i++) { in o2nm_cluster_group_drop_item()
724 killme = &cluster->cl_group.default_groups[i]->cg_item; in o2nm_cluster_group_drop_item()
725 cluster->cl_group.default_groups[i] = NULL; in o2nm_cluster_group_drop_item()