此值旨在向用户传达关于相关请求的有用信息。 此信息不一定表示错误。 多个单比特和多比特字段通过“或”运算组合在一起以构成此值。
SG_INFO_OK_MASK 中包含的单比特组件指示某些错误或状态字段是否为非零。 如果 'masked_status'、'host_status' 或 'driver_status' 中的任何一个为非零,则设置 SG_INFO_CHECK。 相关的值是
SG_INFO_OK_MASK [0x1]
SG_INFO_OK [0x0] 无 sense 数据,主机或驱动程序“噪声”
SG_INFO_CHECK [0x1] 发生了一些异常情况。 在大多数情况下(但并非所有情况),sense 缓冲区将被写入。 如果 sense 缓冲区未被写入,则 'sb_len_wr' 将为零。 此标志指示 'masked_status'、'host_status' 或 'driver_status' 中的任何一个为非零。
SG_INFO_DIRECT_IO_MASK 中包含的多比特组件指示刚刚发生的数据传输类型。 如果发生了间接 IO(或没有数据传输),则匹配 SG_INFO_INDIRECT_IO。 请注意,即使在 'flags' 中请求了直接 IO,驱动程序也可能选择执行间接 IO。 如果请求并执行了直接 IO,则将匹配 SG_INFO_DIRECT_IO。 目前,SG_INFO_MIXED_IO 永远不会被设置。 相关的值是
SG_INFO_DIRECT_IO_MASK [0x6]
SG_INFO_INDIRECT_IO [0x0] 通过内核缓冲区进行数据传输(或无传输)
SG_INFO_DIRECT_IO [0x2]
SG_INFO_MIXED_IO [0x4] 部分直接,部分间接 IO