我想拦截在linux内核的块I / O层和磁盘之间传输的数据。我的目标是收集有关在主机(通过操作系统)和磁盘之间传输的数据的一些统计信息。例如,我想知道每个传输块中出现特定字符的次数。我需要在块级收集此信息,因为磁盘和主机之间的所有操作都是以块粒度完成的。
注意:我不确定是否应该使用bio
struct和bio_vec
。
答案 0 :(得分:0)
好吧,您可以使用kprobes / systemtap挂钩到阻止层。我想这是最难侵入的方法。基本上,单独的systemtap应该足够了,但你可以编写自己的内核模块并手动安装kporbes。