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"); } }
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"); } }