我正在为 nvme-cli 开发一个测试工具(用 c 编写并且可以在 linux 上运行)。
出于 SSD 验证的目的,我实际上是在寻找自定义命令(例如 I/O 命令,写入然后读取相同,最后比较两个数据是否相同)
在用户空间中,我需要使用写入命令(nvme_cmd_write)调用至少 2ioclt()
个,使用读取命令(nvme_cmd_read)调用另一个并比较两个缓冲区内容。
问题实际上是当我想并行发送这个命令时。在块级别(使用ioclt()
),我们无法将此命令放在不同的 I/O 提交队列中。
所以我们可以有一个自定义命令(nvme_cmd_write_compare)从ioclt()
驱动程序级别发送并有一个新模块来处理这个新命令。
由于我是这个 nvme/ioctl() 的新手,如果有任何错误,请纠正我。
我想知道我们是否可以实现这一点。