perfstat_cluster_disk 子例程
用途
检索集群节点的磁盘详细信息。
库
perfstat library (libperfstat.a)
语法
#include <libperfstat.h>
int perfstat_cluster_disk( name, userbuff, sizeof_userbuff, desired_number)
perfstat_id_node_t *name;
perfstat_disk_data_t *userbuff;
int sizeof_userbuff;
int desired_number;
描述
perfstat_cluster_disk 子例程返回 perfstat_disk_data_t 结构中的磁盘列表。
只有在使用以下
perfstat API 调用启用集群统计信息收集之后,才必须调用 perfstat_cluster_disk 子例程:perfstat_config(PERFSTAT_ENABLE | PERFSTAT_CLUSTER_STATS, NULL)使用以下
perfstat API 调用获取磁盘列表后,必须禁用集群统计信息收集:perfstat_config(PERFSTAT_DISABLE | PERFSTAT_CLUSTER_STATS, NULL)要确定特定节点 (当前节点参与其中) 中的集群磁盘总数,必须指定以下条件:
- 必须在 name 参数中指定节点名。
- userbuff 参数必须设置为 NULL。
- desired_number 参数必须设置为 0。
要获取特定节点中集群磁盘的列表,必须使用 userbuff 参数和 desired_number 参数。
参数
- name.nodename 或 name.spec
- 指定必须返回其数据的节点名或节点标识。
- 用户 buff
- 指定必须使用
perfstat_disk_data_t结构填充的内存区域。 - 大小用户缓冲区
- 指定
perfstat_disk_data_t结构的大小。 - 期望数
- 指定要返回的结构数。
返回值
成功完成后,将返回已填充的结构数。 如果不成功,则返回 -1 ,并设置 errno 全局变量。
错误代码
perfstat_cluster_disk 子例程由于下列其中一个错误而失败:
- EINVAL
- 其中一个参数无效。
- ENOENT
- 未使用 perfstat_config 子例程启用集群统计信息收集,不支持集群统计信息收集,或者找不到指定的节点。
文件
libperfstat.h 文件定义标准宏,数据类型和子例程。