Lines Matching full:cluster
20 * cluster active at a time. Changing this will require trickling
21 * cluster references throughout where nodes are looked up */
51 struct o2nm_cluster *cluster = o2nm_single_cluster; in o2nm_configured_node_map() local
53 BUG_ON(bytes < (sizeof(cluster->cl_nodes_bitmap))); in o2nm_configured_node_map()
55 if (cluster == NULL) in o2nm_configured_node_map()
58 read_lock(&cluster->cl_nodes_lock); in o2nm_configured_node_map()
59 memcpy(map, cluster->cl_nodes_bitmap, sizeof(cluster->cl_nodes_bitmap)); in o2nm_configured_node_map()
60 read_unlock(&cluster->cl_nodes_lock); in o2nm_configured_node_map()
66 static struct o2nm_node *o2nm_node_ip_tree_lookup(struct o2nm_cluster *cluster, in o2nm_node_ip_tree_lookup() argument
71 struct rb_node **p = &cluster->cl_node_ip_tree.rb_node; in o2nm_node_ip_tree_lookup()
104 struct o2nm_cluster *cluster = o2nm_single_cluster; in o2nm_get_node_by_ip() local
106 if (cluster == NULL) in o2nm_get_node_by_ip()
109 read_lock(&cluster->cl_nodes_lock); in o2nm_get_node_by_ip()
110 node = o2nm_node_ip_tree_lookup(cluster, addr, NULL, NULL); in o2nm_get_node_by_ip()
113 read_unlock(&cluster->cl_nodes_lock); in o2nm_get_node_by_ip()
189 struct o2nm_cluster *cluster; in o2nm_node_num_store() local
210 cluster = to_o2nm_cluster_from_node(node); in o2nm_node_num_store()
211 if (!cluster) { in o2nm_node_num_store()
216 write_lock(&cluster->cl_nodes_lock); in o2nm_node_num_store()
217 if (cluster->cl_nodes[tmp]) in o2nm_node_num_store()
223 cluster->cl_nodes[tmp] = node; in o2nm_node_num_store()
225 set_bit(tmp, cluster->cl_nodes_bitmap); in o2nm_node_num_store()
227 write_unlock(&cluster->cl_nodes_lock); in o2nm_node_num_store()
273 struct o2nm_cluster *cluster; in o2nm_node_ipv4_address_store() local
291 cluster = to_o2nm_cluster_from_node(node); in o2nm_node_ipv4_address_store()
292 if (!cluster) { in o2nm_node_ipv4_address_store()
298 write_lock(&cluster->cl_nodes_lock); in o2nm_node_ipv4_address_store()
299 if (o2nm_node_ip_tree_lookup(cluster, ipv4_addr, &p, &parent)) in o2nm_node_ipv4_address_store()
306 rb_insert_color(&node->nd_ip_node, &cluster->cl_node_ip_tree); in o2nm_node_ipv4_address_store()
308 write_unlock(&cluster->cl_nodes_lock); in o2nm_node_ipv4_address_store()
328 struct o2nm_cluster *cluster; in o2nm_node_local_store() local
347 cluster = to_o2nm_cluster_from_node(node); in o2nm_node_local_store()
348 if (!cluster) { in o2nm_node_local_store()
355 if (tmp && tmp == cluster->cl_has_local && in o2nm_node_local_store()
356 cluster->cl_local_node != node->nd_num) { in o2nm_node_local_store()
362 if (tmp && !cluster->cl_has_local) { in o2nm_node_local_store()
368 if (!tmp && cluster->cl_has_local && in o2nm_node_local_store()
369 cluster->cl_local_node == node->nd_num) { in o2nm_node_local_store()
371 cluster->cl_local_node = O2NM_INVALID_NODE_NUM; in o2nm_node_local_store()
376 cluster->cl_has_local = tmp; in o2nm_node_local_store()
377 cluster->cl_local_node = node->nd_num; in o2nm_node_local_store()
455 struct o2nm_cluster *cluster = to_o2nm_cluster(item); in o2nm_cluster_idle_timeout_ms_store() local
462 if (cluster->cl_idle_timeout_ms != val in o2nm_cluster_idle_timeout_ms_store()
470 } else if (val <= cluster->cl_keepalive_delay_ms) { in o2nm_cluster_idle_timeout_ms_store()
475 cluster->cl_idle_timeout_ms = val; in o2nm_cluster_idle_timeout_ms_store()
492 struct o2nm_cluster *cluster = to_o2nm_cluster(item); in o2nm_cluster_keepalive_delay_ms_store() local
499 if (cluster->cl_keepalive_delay_ms != val in o2nm_cluster_keepalive_delay_ms_store()
507 } else if (val >= cluster->cl_idle_timeout_ms) { in o2nm_cluster_keepalive_delay_ms_store()
512 cluster->cl_keepalive_delay_ms = val; in o2nm_cluster_keepalive_delay_ms_store()
536 struct o2nm_cluster *cluster = to_o2nm_cluster(item); in o2nm_cluster_fence_method_show() local
539 if (cluster) in o2nm_cluster_fence_method_show()
541 o2nm_fence_method_desc[cluster->cl_fence_method]); in o2nm_cluster_fence_method_show()
608 struct o2nm_cluster *cluster = to_o2nm_cluster(group->cg_item.ci_parent); in o2nm_node_group_drop_item() local
610 if (cluster->cl_nodes[node->nd_num] == node) { in o2nm_node_group_drop_item()
613 if (cluster->cl_has_local && in o2nm_node_group_drop_item()
614 (cluster->cl_local_node == node->nd_num)) { in o2nm_node_group_drop_item()
615 cluster->cl_has_local = 0; in o2nm_node_group_drop_item()
616 cluster->cl_local_node = O2NM_INVALID_NODE_NUM; in o2nm_node_group_drop_item()
623 write_lock(&cluster->cl_nodes_lock); in o2nm_node_group_drop_item()
627 rb_erase(&node->nd_ip_node, &cluster->cl_node_ip_tree); in o2nm_node_group_drop_item()
630 if (cluster->cl_nodes[node->nd_num] == node) { in o2nm_node_group_drop_item()
631 cluster->cl_nodes[node->nd_num] = NULL; in o2nm_node_group_drop_item()
632 clear_bit(node->nd_num, cluster->cl_nodes_bitmap); in o2nm_node_group_drop_item()
634 write_unlock(&cluster->cl_nodes_lock); in o2nm_node_group_drop_item()
652 /* cluster */
656 struct o2nm_cluster *cluster = to_o2nm_cluster(item); in o2nm_cluster_release() local
658 kfree(cluster); in o2nm_cluster_release()
671 /* cluster set */
690 struct o2nm_cluster *cluster = NULL; in o2nm_cluster_group_make_group() local
699 cluster = kzalloc(sizeof(struct o2nm_cluster), GFP_KERNEL); in o2nm_cluster_group_make_group()
702 if (cluster == NULL || ns == NULL || o2hb_group == NULL) in o2nm_cluster_group_make_group()
705 config_group_init_type_name(&cluster->cl_group, name, in o2nm_cluster_group_make_group()
707 configfs_add_default_group(&ns->ns_group, &cluster->cl_group); in o2nm_cluster_group_make_group()
711 configfs_add_default_group(o2hb_group, &cluster->cl_group); in o2nm_cluster_group_make_group()
713 rwlock_init(&cluster->cl_nodes_lock); in o2nm_cluster_group_make_group()
714 cluster->cl_node_ip_tree = RB_ROOT; in o2nm_cluster_group_make_group()
715 cluster->cl_reconnect_delay_ms = O2NET_RECONNECT_DELAY_MS_DEFAULT; in o2nm_cluster_group_make_group()
716 cluster->cl_idle_timeout_ms = O2NET_IDLE_TIMEOUT_MS_DEFAULT; in o2nm_cluster_group_make_group()
717 cluster->cl_keepalive_delay_ms = O2NET_KEEPALIVE_DELAY_MS_DEFAULT; in o2nm_cluster_group_make_group()
718 cluster->cl_fence_method = O2NM_FENCE_RESET; in o2nm_cluster_group_make_group()
720 ret = &cluster->cl_group; in o2nm_cluster_group_make_group()
721 o2nm_single_cluster = cluster; in o2nm_cluster_group_make_group()
725 kfree(cluster); in o2nm_cluster_group_make_group()
736 struct o2nm_cluster *cluster = to_o2nm_cluster(item); in o2nm_cluster_group_drop_item() local
738 BUG_ON(o2nm_single_cluster != cluster); in o2nm_cluster_group_drop_item()
741 configfs_remove_default_groups(&cluster->cl_group); in o2nm_cluster_group_drop_item()
759 .ci_namebuf = "cluster",
866 MODULE_DESCRIPTION("OCFS2 cluster management");