SCSI错误定位:hostbyte和driverbyte

本文介绍了在硬盘运行IO时遇到的SCSI错误日志,重点讲解了错误日志的位置、hostbyte和driverbyte的概念,以及它们在cmd->result中的含义和与底层转换的关系。
摘要由CSDN通过智能技术生成

1. 错误打印log

硬盘跑IO的时候,经常会见到下面这种错误log,这是SCSI做的打印。这是什么错误?该怎么定位?

[ 6304.176111] sd 0:0:4:0: [sde] tag#7 UNKNOWN(0x2003) Result: hostbyte=0x07 driverbyte=0x00
[ 6304.184281] sd 0:0:4:0: [sde] tag#7 CDB: opcode=0x28 28 00 00 0a 88 00 00 04 00 00
[ 6304.191838] print_req_error: I/O error, dev sde, sector 690176
[ 6333.587832] sd 0:0:4:0: [sde] tag#0 UNKNOWN(0x2003) Result: hostbyte=0x05 driverbyte=0x00
[ 6333.596010] sd 0:0:4:0: [sde] tag#0 CDB: opcode=0x28 28 00 00 0a 8c 00 00 04 00 00

2. log打印位置

首先,我们看这个日志是在哪里打印的。drivers/scsi/scsi_lib.c中scsi_io_completion()。两行分别对应scsi_print_result()和scsi_print_command()。

1012         switch (action) {
1013         case ACTION_FAIL:
1014                 /* Give up and fail the remainder of the request */
1015            
"failed result: hostbyte=did_error" 是一个错误信息,通常在计算机网络通信中出现。这个错误信息意味着在与主机通信的过程中出现了错误。 具体而言,"hostbyte" 代表主机错误,而 "did_error" 表示发生了错误。这可能是由于以下几个原因导致的: 1. 连接问题:可能由于网络连接问题,无法与目标主机建立稳定的连接,导致数据传输失败。 2. 主机故障:目标主机可能遇到硬件或软件故障,无法正常处理请求或提供所需的服务。 3. 配置错误:可能由于配置错误或设置不正确,导致主机无法正确处理请求,从而出现错误。 4. 安全限制:目标主机可能受到安全限制,例如防火墙或访问控制列表,阻止了与主机的通信。 在解决这个问题的过程中,可以尝试以下步骤: 1. 检查网络连接:确保网络连接正常,尝试与其他主机进行通信,以确定是否存在网络问题。 2. 检查主机状态:确认目标主机是否正常运行,并检查主机上的系统日志或错误日志,以获取更多有关错误的详细信息。 3. 检查配置:核实与目标主机通信所使用的协议、端口号和其他配置是否正确。 4. 检查安全设置:如果存在安全限制,确保已正确配置防火墙或访问控制列表,以允许与目标主机的通信。 如果以上步骤都没有解决问题,可以尝试联系网络管理员或技术支持团队,他们可能能够提供更进一步的帮助和指导。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值