2Peter: of course yoy’re correct! Sorry, too much time passed since I’ve
looked at this topic last time.
2Jan: there are other underwater stones in this approach except the frozen
queue
So combination
of timer + “fast completion” must be used.
However I don’t understand why you want to stick with miniports? Only to
make your driver bootable?
You could go the way emBoot guys went: they have SCSI miniport with TDI
lower edge to boot (low performance,
boot support and some basic features only) and full blown SCSI port to do
true work when the machine is
up and running. So you can have your protocol isolated in DLL or LIB and
shared between two storage
drivers and you don’t need to do hacks to make SCSI miniport fast (who cares
- would machine boot 1 minute
or 36 seconds - the difference in performance is not that large) and don’t
need to do hacks to make full
blown SCSI port bootable (it’s a nightmare - trust me).
Regards,
Anton Kolomyeytsev
CEO, Rocket Division Software
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jan Bottorff
Sent: Friday, October 07, 2005 8:39 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Virtual SCSI minports - storage expert input requested
Hi Peter,
What you describe is exactly my experience. I eventually abandoned the
strategy.
Any opinion on calling StorPortIssueDpc from an arbitrary context (like
calling it from the DPC of another driver)?
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Peter Wieland
Sent: Thursday, October 06, 2005 1:05 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Virtual SCSI minports - storage expert input requested
neither bypass flag will get you past a request that’s marked for
DISABLE_DISCONNECT. the flags you mentioned override the queueing behavior
at the LUN level, while DISABLE_DISCONNECT modifies the behavior at the
adapter level (it should really be the bus level, but that’s a different
issue)
-p
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Anton Kolomyeytsev
Sent: Thursday, October 06, 2005 3:56 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Virtual SCSI minports - storage expert input requested
Jan,
you need to set both flags SRB_FLAGS_BYPASS_FROZEN_QUEUE and
SRB_FLAGS_BYPASS_LOCKED_QUEUE
and described approach works just fine (with some of the tuning). However I
agree it’s a hack and going full blown
SCSI port or iSCSIprt miniport is correct approach (there are some issues
howerver if you want to make your
virtual storage driver bootable - it’s what we’re busy with right now).
If you’d find a way to share headers/libraries it would be just great! I’ll
drop a reminder to Jeff right now 
Regards,
Anton Kolomyeytsev
CEO, Rocket Division Software
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Jan Bottorff
Sent: Thursday, October 06, 2005 12:18 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] Virtual SCSI minports - storage expert input requested
Hi Anton,
What you describe I once tried, and does not always work. Specifically, if
there are any serialized SRB’s, you can’t send new SRB’s until the
serialized one completes. There is a bit in the SRB that controls this, I
believe SRB_FLAGS_DISABLE_DISCONNECT. The storage class drivers like to
serialize SRB’s when they detect SCSI errors. Your systems basically get’s
stuck sometimes if your depending on sending new SRB’s to complete an
existing one.
So far, I don’t have iscsiprt headers, although Jeff is looking into the
proper hoops to jump through to get them.
Just use SCSIPORT and send SRB to yourself to complete the request (try
searching the archives,
there was a long fight between me an Jamey). Works fine, no ugly messages in
the event log, no
timeout delays. Comparing the performance of monilithic SCSI port and SCSI
miniport there’s something
like 10-20% difference (SCSI port is faster of course) depending of the
lower edge you use (we used both
DISPATCH_LEVEL TDI and reading local disk, not sure what kind of
architecture you’ll have…). I really
suspect to have the same differerence between iscsiprt and monilithic SCSI
port as well.
It would be nice if Jeff or you would find some free minutes to help me with
iscsiprt headers/libraries 
I’d love to have experimental port of our iSCSI initiator to MS iscsiprt to
compare the performance. Maybe
there’s no need in monolithic SCSI ports at all… Maybe there’s no need in
walking long road finding iscsiprt
headers/libraries 
Regards,
Anton Kolomyeytsev
CEO, Rocket Division Software
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
You are currently subscribed to ntdev as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com