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 文件定义标准宏,数据类型和子例程。