版块
论坛
喜欢
话题
应用
搜索
登录
注册
cidentifier的个人空间
访问量
2
新鲜事
帖子
资料
http://bbs3.driverdevelop.com/index.php?m=space&uid=69585
kangzh,terrychen大虾看过来,关于scsiminiport,给100分
我的scsiminiport经常会出现bus reset,系统就会挂起,没有任何响应。我认为只要正确处理HwScsiResetBus,系统会从bus reset状态恢复过来,我的HwScsiResetBus的内容如下:BOOLEAN MyDiskResetBus( IN P...
全文
回复
(
21
)
2004-08-21 16:48
来自版块 -
内核编程
◆
◆
表情
告诉我的粉丝
提 交
cidentifier
:
我试试看吧,我以前测试过,reset bus发生时,工作线程仍在运行,模拟中断的定时器dpc也在运行。只不过scsiport不再向miniport发送srb,所以系统看起来好像挂起一样。 过几天再聊
(2004-09-10 13:45)
回复
terrychen
:
关键不只在于reset_bus,就象kangzh说的,reset_bus发生的时候,系统好像处于一个无法控制的状态,我想可能是由于tdi那里有可能一直占用,或者其他的,但是系统确实很混乱。
(2004-09-10 13:18)
回复
cidentifier
:
在bus reset时,系统仍在运行,并且工作线程仍可以被调度,所以可以插入。 利用scsiportnotification以SRB_STATUS_BUS_RESET状态完成每个srb,应该不需要携带什么数据吧.
(2004-09-10 13:03)
回复
kangzh
:
应该不可以吧,当发生bus reset时,好像系统就已经无法控制了,并且如果那样反馈srb,此时的srb并没有携带正确的数据,反馈给操作系统,一样会有问题的
(2004-09-10 10:53)
回复
cidentifier
:
bus reset发生时,scsiport一般调用HwScsiResetBus,可以再做一个OOB(带外)队列,当发生bus reset时,让HwScsiResetBus向OOB队列中插入一个消息。 工作线程每次处理一个SRB后,检查OOB队列,如果有BUS RESET发生...
(2004-09-10 10:35)
回复
terrychen
:
great,祝贺你了,不知道你打算resetbus怎么处理?我也一直想处理,可是不知道怎么下手
(2004-09-06 17:48)
回复
cidentifier
:
thank u all 在众人的帮助下,我的网络虚拟磁盘基本可以工作了,由于我用的是udp,所以会有丢包,加了超时重发和校验和之后,效果还可以。 我并没有处理bus reset,不过我打算以后处理,johnnyweng的意见很重要。 感谢terrychen和ka...
(2004-09-06 17:35)
回复
johnnyweng
:
你程式中所用的CompleteRequest是在complete bus reset 呃
(2004-09-03 11:23)
回复
hawkforest
:
ZwCreateFile 加上 FILE_NO_INTERMEDIATE_BUFFERING
(2004-09-03 10:22)
回复
cidentifier
:
let me try, however, thanks!
(2004-08-26 21:12)
回复
1
2
3
下一页 »
cidentifier
加关注
写私信
0
关注
1
粉丝
54
帖子
返回顶部