Beispiel #1
0
static void show_ls(struct dlmc_lockspace *ls)
{
	int rv, node_count;

	printf("name          %s\n", ls->name);
	printf("id            0x%08x\n", ls->global_id);
	printf("flags         0x%08x %s\n", ls->flags, dlmc_lf_str(ls->flags));
	printf("change        member %d joined %d remove %d failed %d seq %d,%d\n",
		ls->cg_prev.member_count, ls->cg_prev.joined_count,
		ls->cg_prev.remove_count, ls->cg_prev.failed_count,
		ls->cg_prev.combined_seq, ls->cg_prev.seq);

	node_count = 0;
	memset(&nodes, 0, sizeof(nodes));
	rv = dlmc_lockspace_nodes(ls->name, DLMC_NODES_MEMBERS,
				  MAX_NODES, &node_count, nodes);
	if (rv < 0) {
		printf("members       error\n");
		goto next;
	}
	qsort(nodes, node_count, sizeof(struct dlmc_node), node_compare);

	printf("members       ");
	show_nodeids(node_count, nodes);

 next:
	if (!ls->cg_next.seq)
		return;

	printf("new change    member %d joined %d remove %d failed %d seq %d,%d\n",
		ls->cg_next.member_count, ls->cg_next.joined_count,
		ls->cg_next.remove_count, ls->cg_next.failed_count,
	        ls->cg_next.combined_seq, ls->cg_next.seq);

	if (ls->cg_next.wait_messages)
		printf("new status    wait messages %d\n", ls->cg_next.wait_condition);
	else
		printf("new status    wait %s\n", condition_str(ls->cg_next.wait_condition));

	node_count = 0;
	memset(&nodes, 0, sizeof(nodes));
	rv = dlmc_lockspace_nodes(ls->name, DLMC_NODES_NEXT,
				  MAX_NODES, &node_count, nodes);
	if (rv < 0) {
		printf("new members   error\n");
		return;
	}
	qsort(nodes, node_count, sizeof(struct dlmc_node), node_compare);

	printf("new members   ");
	show_nodeids(node_count, nodes);
}
Beispiel #2
0
static void show_mg(struct gfsc_mountgroup *mg)
{
	int rv, node_count;

	printf("name          %s\n", mg->name);
	printf("id            0x%08x\n", mg->global_id);
	printf("flags         0x%08x %s\n",
		mg->flags, mg_flags_str(mg->flags));
	printf("change        member %d joined %d remove %d failed %d seq %d,%d\n",
		mg->cg_prev.member_count, mg->cg_prev.joined_count,
		mg->cg_prev.remove_count, mg->cg_prev.failed_count,
	        mg->cg_prev.combined_seq, mg->cg_prev.seq);

	node_count = 0;
	memset(&nodes, 0, sizeof(nodes));
	rv = gfsc_mountgroup_nodes(mg->name, GFSC_NODES_MEMBERS,
				   MAX_NODES, &node_count, nodes);
	if (rv < 0) {
		printf("members       error\n");
		goto next;
	}
	qsort(nodes, node_count, sizeof(struct gfsc_node), node_compare);

	printf("members       ");
	show_nodeids(node_count, nodes);

 next:
	if (!mg->cg_next.seq)
		return;

	printf("new change    member %d joined %d remove %d failed %d seq %d,%d\n",
		mg->cg_next.member_count, mg->cg_next.joined_count,
		mg->cg_next.remove_count, mg->cg_next.failed_count,
		mg->cg_next.combined_seq, mg->cg_next.seq);

	printf("new status    wait_messages %d wait_condition %d %s\n",
		mg->cg_next.wait_messages, mg->cg_next.wait_condition,
		condition_str(mg->cg_next.wait_condition));

	node_count = 0;
	memset(&nodes, 0, sizeof(nodes));
	rv = gfsc_mountgroup_nodes(mg->name, GFSC_NODES_NEXT,
				   MAX_NODES, &node_count, nodes);
	if (rv < 0) {
		printf("new members   error\n");
		return;
	}
	qsort(nodes, node_count, sizeof(struct gfsc_node), node_compare);

	printf("new members ");
	show_nodeids(node_count, nodes);
}