gpt4 book ai didi

linux - 如何编写一个内核模块来跟踪发送到特定设备的 SCSI 命令?

转载 作者:太空宇宙 更新时间:2023-11-04 04:45:36 24 4
gpt4 key购买 nike

给定一个 SCSI 设备作为输入,我正在尝试实现一个内核模块,它可以:

获取发送到该特定设备的 SCSI 命令列表并计算该命令的发出次数。

我该如何实现?

我是内核模块编程的初学者,事实上我到目前为止只写了一个“Hello, World”程序。

最佳答案

我相信设备驱动程序端已经有调试和日志记录支持。

作为起点,您应该研究从这里开始的 Linux 内核中的驱动程序:

https://github.com/torvalds/linux/blob/master/drivers/scsi/scsi_module.c

为了进行调试,你可以找到这个:

https://github.com/torvalds/linux/blob/master/drivers/scsi/scsi_logging.c

首先阅读手册总是一个好主意!在这里给它一个机会:

https://www.kernel.org/doc/Documentation/scsi/

如果您无法激活日志记录,您应该回来询问更具体的问题。但我相信您根本不需要编写自己的记录器。

来自http://www.theunixway.com/2013/10/ol56-enable-additional-scsi-logging-or.html

在内核上启用 scsi 日志记录:

sysctl -q -w dev.scsi.logging_level=<N>

echo <N> > /proc/dev/scsi/logging_level

N 是一个位字段,包含不同类别的日志信息。请引用您实际使用的内核驱动版本的文档。

关于linux - 如何编写一个内核模块来跟踪发送到特定设备的 SCSI 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38895806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com