当前位置: 代码迷 >> 驱动开发 >> Linux下怎么检测SATA热插拔
  详细解决方案

Linux下怎么检测SATA热插拔

热度:48   发布时间:2016-04-28 10:55:39.0
Linux下如何检测SATA热插拔?
我们的程序需要时钟保持着对SATA硬盘的检测,当硬盘被拔掉或者插上时,都应该要有提示信息。那么在Linux下面,我需要去读取、检测哪儿才能获取该信息呢?如果有人对USB的热插拔也比较了解的,欢迎过来帮我扫盲!(我大致看了驱动层,整个SATA的中断最后通过task_let调用了ATA的函数,然后我就啥都不知道了,对ATA驱动一点都没有知识)

------解决方案--------------------
#1楼的方法其实比较直接,也比较简单。

如果真要第一时间知道对应的硬盘信息,你可能需要看scsi模块的一些接口,因为SATA硬盘最后会生成对应的scsi设备的。scsi模块里可能有一些接口可以告诉你有对应的 SATA硬盘被加载了。
或者,修改SATA硬盘的驱动,自己注册中断接口或者Event来告诉应用程序对应的硬件已经加入系统中。