12.6. 错误总览
上一页 | 第 12 章 通用访问方法SCSI控制器 | 下一页

## 12.6. 错误总览

当执行I/O请求时很多事情可能出错。可以在CCB状态中非常详尽地 报告错误原因。使用的例子散布于本文档中。为了完整起见此处给出 对典型错误条件的建议响应的一个总览：

- CAM_RESRC_UNAVAIL - 某些资源 暂时不可用，并且当其变为可用时SIM驱动程序不能产生事件。这种资源 的一个例子就是某些控制器内部硬件资源，当其可用时控制器不会为其 产生中断。

- CAM_UNCOR_PARITY - 发生不可恢复的奇偶校验错误

- CAM_DATA_RUN_ERR - 数据外溢或未预期的数据状态(phase)（跑在另一个方向上而不是 CAM_DIR_MASK指定的方向），或对于宽传输出现奇数传输长度

- CAM_SEL_TIMEOUT - 发生选择超时（目标不响应）

- CAM_CMD_TIMEOUT - 发生命令超时（超时函数运行）

- CAM_SCSI_STATUS_ERROR - 设备返回的错误

- CAM_AUTOSENSE_FAIL - 设备返回的错误且REQUEST SENSE命令失败

- CAM_MSG_REJECT_REC - 收到MESSAGE REJECT消息

- CAM_SCSI_BUS_RESET - 收到SCSI总线复位

- CAM_REQ_CMP_ERR - 出现“不可能(impossible)”SCSI状态(phase) 或者其他怪异事情，或者如果进一步的信息不可用则只是通用错误

- CAM_UNEXP_BUSFREE - 出现未预期的断开连接

- CAM_BDR_SENT - BUS DEVICE RESET消息被发送到目标

- CAM_UNREC_HBA_ERROR - 不可恢复的主机总线适配器错误

- CAM_REQ_TOO_BIG - 请求对于控制器太大

- CAM_REQUEUE_REQ - 此请求应当被重新入队以保持事务的次序性。这典型地出现在下列 时刻：SIM识别出了应当冻结队列的错误，并且必须在sim级别上将目标的 其他入队请求放回到XPT队列。这些错误的典型情况有选择超时、命令 超时和其他类似情况。这些情况下出问题的命令返回状态来指示错误， 此命令和其他还没有被发送到总线的命令被重新入队。

- CAM_LUN_INVALID - SCSI控制器不支持请求中的LUN ID

- CAM_TID_INVALID - SCSI控制器不支持请求中的目标ID

上一页 | 上一级 | 下一页
12.5. 中断 | 起始页 | 12.7. 超时处理

本文档和其它文档可从这里下载： ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题，请先阅读 文档，如不能解决再联系 <questions@FreeBSD.org>.
关于本文档的问题请发信联系 <doc@FreeBSD.org>.