关于 SCSI READ 命令
Posted
技术标签:
【中文标题】关于 SCSI READ 命令【英文标题】:Regarding SCSI READ Command 【发布时间】:2013-08-29 13:25:02 【问题描述】:我正在尝试使用 SCSI 读取容量命令获取磁盘的最大 LBA。
我创建了 10 字节的 CDB,如下所示
ccb->cam_flags = NO_DATA;
ccb->cdb[0] = READ_CAPACITY; /* 0x25 SCSI Opcode for Read Capacity Command */ ccb->cdb[1] = 0x01;
ccb->cdb[2] = 0;
ccb->cdb[3] = 0;
ccb->cdb[4] = 0;
ccb->cdb[5] = 0;
ccb->cdb[6] = 0;
ccb->cdb[7] = 0;
ccb->cdb[8] = 0x01;
ccb->cdb[9] = 0;
SCSI 命令成功。不幸的是,我没有得到预期的 LBA,它显示为零。
我的基本问题是上面创建的 SCSI CDB 命令是否正确?
【问题讨论】:
你应该添加语言/环境/调用细节和标签 将适当的 CAM 标志设置为 DATA_IN 0x40000000。我仍然没有获得磁盘的最大 LBA 【参考方案1】:尝试将ccb->cdb[1]设置为0。在这种情况下不应该使用相对地址位。
【讨论】:
这个,并设置 cdb[8] = 0 太。不要打扰部分中等指标。以上是关于关于 SCSI READ 命令的主要内容,如果未能解决你的问题,请参考以下文章
Linux 执行partprobe命令时遇到Unable to open /dev/sr0 read-write (Read-only file system)