Example #1
0
File: main.c Project: jjzhang/dlm
static void do_list(char *name)
{
	struct dlmc_lockspace *ls;
	int node_count;
	int ls_count;
	int rv;
	int i;

	memset(lss, 0, sizeof(lss));

	if (name) {
		ls_count = 1;
		rv = dlmc_lockspace_info(name, lss);
	} else {
		rv = dlmc_lockspaces(MAX_LS, &ls_count, lss);
	}

	if (rv < 0)
		exit(EXIT_FAILURE); /* dlm_controld probably not running */

	if (ls_count)
		printf("dlm lockspaces\n");

	for (i = 0; i < ls_count; i++) {
		ls = &lss[i];

		show_ls(ls);

		if (!ls_all_nodes)
			goto next;

		node_count = 0;
		memset(&nodes, 0, sizeof(nodes));

		rv = dlmc_lockspace_nodes(ls->name, DLMC_NODES_ALL,
					  MAX_NODES, &node_count, nodes);
		if (rv < 0) {
			printf("all nodes error %d %d\n", rv, errno);
			goto next;
		}

		qsort(nodes, node_count, sizeof(struct dlmc_node),node_compare);

		printf("all nodes\n");
		show_all_nodes(node_count, nodes);
 next:
		printf("\n");
	}
}
Example #2
0
static void do_list(char *name)
{
	struct gfsc_mountgroup *mg;
	int node_count;
	int mg_count;
	int rv;
	int i;

	memset(mgs, 0, sizeof(mgs));

	if (name) {
		mg_count = 1;
		rv = gfsc_mountgroup_info(name, mgs);
	} else {
		rv = gfsc_mountgroups(MAX_MG, &mg_count, mgs);
	}

	if (rv < 0)
		exit(EXIT_FAILURE); /* gfs_controld probably not running */

	if (mg_count)
		printf("gfs mountgroups\n");

	for (i = 0; i < mg_count; i++) {
		mg = &mgs[i];

		show_mg(mg);

		if (!ls_all_nodes)
			goto next;

		node_count = 0;
		memset(&nodes, 0, sizeof(nodes));

		rv = gfsc_mountgroup_nodes(mg->name, GFSC_NODES_ALL,
					   MAX_NODES, &node_count, nodes);
		if (rv < 0) {
			printf("all nodes error %d %d\n", rv, errno);
			goto next;
		}

		qsort(nodes, node_count, sizeof(struct gfsc_node),node_compare);

		printf("all nodes\n");
		show_all_nodes(node_count, nodes);
 next:
		printf("\n");
	}
}