版块
论坛
喜欢
话题
应用
搜索
登录
注册
boxcounter的个人空间
访问量
0
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=165799
Lazy write导致的内容丢失问题
各位,我现在在做一个加解密的minifilter驱动,现在遇到一个问题:我的加密头在文件首部。我在Write、read中,都会跳过这个首部(512B),通常情况下,这种情况都OK。但是发现当system进行延缓写的时候,会出现最后一部分WriteBuffer中的内容丢失,具体如下...
全文
回复
(
24
)
2008-05-20 11:28
来自版块 -
文件系统(过滤)驱动程序开发
◆
◆
表情
告诉我的粉丝
提 交
goodone
:
引用第23楼qianjunhua于2008-06-24 14:04发表的 : 应该是在fcb里面直接修改文件的大小,这样ntfs 在适当的时候会用fbc里面的值来调用ccsetcachefilesize 这个函数,来通知cache 这个时候文件的大小 fcb里面直接修改文件的...
(2008-06-24 17:04)
回复
qianjunhua
:
应该是在fcb里面直接修改文件的大小,这样ntfs 在适当的时候会用fbc里面的值来调用ccsetcachefilesize 这个函数,来通知cache 这个时候文件的大小
(2008-06-24 14:04)
回复
goodone
:
引用第20楼qianjunhua于2008-06-22 12:15发表的 : 是的!cache的大小 从他驱动中得到的是明文的大小,也就是,那么cache的 lazy write 就是在写的时候就要比较offset 和得到的明文的大小,所以一旦=>明文大小的时候就停止写了...
(2008-06-24 10:21)
回复
dionysus77
:
引用第20楼qianjunhua于2008-06-22 12:15发表的 : 是的!cache的大小 从他驱动中得到的是明文的大小,也就是,那么cache的 lazy write 就是在写的时候就要比较offset 和得到的明文的大小,所以一旦=>明文大小的时候就停止写了...
(2008-06-23 13:19)
回复
qianjunhua
:
是的!cache的大小 从他驱动中得到的是明文的大小,也就是,那么cache的 lazy write 就是在写的时候就要比较offset 和得到的明文的大小,所以一旦=>明文大小的时候就停止写了!而且文件驱动规定了lazy write 的写的时候是不能改变文件大小的,也不能...
(2008-06-22 12:15)
回复
goodone
:
让CCmgr感知到文件头?如果让它感知到了,那它不会往下刷脏数据吗? 不会损毁我们自己的加在头部的加密标志吗?
(2008-06-02 18:38)
回复
dionysus77
:
引用第17楼boxcounter于2008-05-28 11:51发表的 : 让CCmgr感知到加密头的存在就OK了,当然我调整了整个框架实现这么个功能。 我是在NTFS上做的测试。 如何让CCmgr感知到文件头呢? 对缓冲读写也偏移文件头长度吗?
(2008-05-28 12:39)
回复
boxcounter
:
让CCmgr感知到加密头的存在就OK了,当然我调整了整个框架实现这么个功能。 我是在NTFS上做的测试。
(2008-05-28 11:51)
回复
dionysus77
:
引用第15楼boxcounter于2008-05-27 18:41发表的 : 我已经解决了,原因是因为CCmgr不知道我的加密头的存在,导致刷脏页的时候出现这个问题。多谢各位 :) 怎么解决的?这个问题是出现在NTFS上,还是FAT32上也会有?
(2008-05-27 19:25)
回复
boxcounter
:
我已经解决了,原因是因为CCmgr不知道我的加密头的存在,导致刷脏页的时候出现这个问题。多谢各位 :)
(2008-05-27 18:41)
回复
1
2
3
下一页 »
boxcounter
加关注
写私信
0
关注
0
粉丝
10
帖子
返回顶部