阅读:1706回复:3
How to log IO when system shuting down
我写了一个磁盘上层过滤驱动,实现磁盘备份的功能。当系统关闭或者磁盘拔出的时候镜像盘是无法读写的。所以我要把这些IO记录下来,下次开机的时候同步到镜像盘。我用文件来记录IO。可是当系统关闭的时候文件系统是先于磁盘关闭的,所以在记录有些IO的时候文件系统已经不能读写了。根据M$的文档,IoRegisterShutdownNotification回调是文件系统卸载前我最后能写文件的机会,现在的问题是回调之后的IO怎样处理。现在看来拒绝掉IO是会引起上层应用崩溃的,因此还是要记录IO并把它写下去。我知道很多人是开发过磁盘驱动的,这个问题应该比较普遍,真心向大牛请教,希望大牛们热心帮助,谢谢!
|
|
沙发#
发布于:2009-05-07 19:29
没有人回答吗?都下班了么?
|
|
板凳#
发布于:2009-05-08 23:13
可以参照 windows dump 蓝屏信息的做法, windows crash dump 直接写往 Pagefile.sys
那么你也可打开一个文件并锁定它. 然后获得这个文件的簇描述(retrieval pointers), 直接call 低层磁盘驱动写下去. |
|
地板#
发布于:2009-05-11 09:24
Thanks treeyan.
|
|