cl_getgroup 例程将返回有关所指定集群中所指定资源组的信息。
语法
int cl_getgroup (int clusterid, char *groupname,
struct cl_group *groupbufp);
参数
| 项目 | 描述 |
| 集群标识 |
期望集群的集群标识。 |
| GroupName |
资源组的名称。 |
| 组 (groupbufp) |
指向 cl_group 结构的指针,将使用该结构来返回信息。 |
状态码
| 项目 | 描述 |
| 清除 (CLE_OK) |
成功。 |
| 清除 BADARGS |
缺少自变量或自变量无效。 |
| 清除 SYSERR |
系统错误。 |
| 清除 NOCLINFO |
未获得集群信息。 |
| cle_ivclusterid |
集群标识无效。 |
| CLE_IVNODENAME |
资源组名称无效。 |
示例
int clusterid = 1113325332;
int status, j;
char* groupname = "rg01";
struct cl_group group;
status = cl_getgroup(clusterid, groupname, &group);
if (status != CLE_OK){
cl_perror(status, "can't get resource group information");
} else {
printf("resource group %s has %d nodes.\n",
group.clg_name,
group.clg_num_nodes);
for(j=0; j < group.clg_num_nodes; j++){
printf("node w/ id %d is in state %d [%s]\n",
group.clg_node_ids[j],
group.clg_node_states[j],
/* user defined function char* cvrt_rg_state(enum cl_resource_states state)
** to convert state id numbers to text
*/
cvrt_rg_state(group.clg_node_states[j]));
}
}