iowait 内核服务

用途

等待块 I/O 完成。

语法

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/buf.h>
int iowait ( bp)
struct buf *bp;

参数

描述
bp 为具有进程内 I/O 的缓冲区指定 布夫 结构的地址。

在支持存储密钥的平台上,所传递的 英国石油 参数必须位于 KKEY_PUBLICKKEY_BLOCK_DEV 保护域中。

描述

对于 英国石油 参数指定的缓冲区, 约瓦伊特 内核服务会导致进程等待直至 I/O 完成。 只有策略例程的调用者才可以调用 约瓦伊特 服务。 缓冲区中的 B_ASYNC 位。 b_flags不应该设置 字段。

当块 I/O 传输完成时,必须调用 约奥 one 内核服务。 英国石油 参数所指向的 布夫 结构必须指定一个 iodone 例程。 此例程由 iodone 中断处理程序调用,以响应对 约奥 one 内核服务的调用。 此 iodone 例程必须使用以下命令调用 警醒 服务:bp->b_events字段作为事件。 此操作将唤醒所有正在等待使用 约瓦伊特 服务完成 布夫 结构的 I/O 的进程。

执行环境

仅可从 流程环境 调用 约瓦伊特 内核服务。

返回值

约瓦伊特 服务使用 恐怖 服务来确定要返回以下值中的哪些值:

描述
重大安全事件数量 指示此缓冲区上的 I/O 已成功。
EIO 指示已发生 I/O 错误。
b_error 值 指示缓冲区中发生了 I/O 错误。