我的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)
cidentifierbus reset发生时,scsiport一般调用HwScsiResetBus,可以再做一个OOB(带外)队列,当发生bus reset时,让HwScsiResetBus向OOB队列中插入一个消息。 工作线程每次处理一个SRB后,检查OOB队列,如果有BUS RESET发生...(2004-09-10 10:35)
terrychengreat,祝贺你了,不知道你打算resetbus怎么处理?我也一直想处理,可是不知道怎么下手(2004-09-06 17:48)
cidentifierthank u all 在众人的帮助下,我的网络虚拟磁盘基本可以工作了,由于我用的是udp,所以会有丢包,加了超时重发和校验和之后,效果还可以。 我并没有处理bus reset,不过我打算以后处理,johnnyweng的意见很重要。 感谢terrychen和ka...(2004-09-06 17:35)
johnnyweng你程式中所用的CompleteRequest是在complete bus reset 呃(2004-09-03 11:23)
hawkforestZwCreateFile 加上 FILE_NO_INTERMEDIATE_BUFFERING (2004-09-03 10:22)
cidentifierlet me try, however, thanks!(2004-08-26 21:12)

返回顶部