LKM:最后的块写入装置(LKM: Last block written to device)

2019-09-16 09:15发布

我试图找到一种方法,一个模块内,以跟踪写入块设备的最后一个块。 我需要特定的设备是一个安装在根(我知道在/ dev /提前是否有帮助时的名字。)

我最初的想法是包裹submit_bio功能,因为它具有记录功能已如果你“回声1>的/ proc / sys目录/ VM / block_dump”。 不幸的是,似乎我需要修改源代码,以使该函数的指针。 我想如果可能的话把这个所有的模块内。

在那之后,我看着查找文件系统类型,和包装默认的文件操作(这已经是函数指针,毕竟)。 那些被声明为一个常量,虽然如此,相同的问题。

这是一种奇怪的事情是试图做的,我明白了。 需要做的是无 - 少。 有没有人有可能会去我的任何想法?

Answer 1:

Linux内核提供了几个不同的追踪工具包; 所述blktrace工具是为块设备设计的。 所述blkparse(1)工具将解析的输出blktrace(8)实用程序。 (至少Ubuntu已经这些包装在blktrace包;我希望其他的分布是相似的。)的bklparse(1)工具,可以给你的部门信息。

Documentation/trace/events.txt描述了另一种跟踪机制-一个可以让你跟着block:block_bio_complete事件,其中包括扇区信息。 这将不需要安装bkltrace工具包,但我会(不好意思地)承认,我不知道在何处读取跟踪日志。



文章来源: LKM: Last block written to device