IOCTL_STORAGE_RESET_BUS doesn't clear SCSI Reservations.

Hi,

I am trying to use IOCTL_STORAGE_RESET_BUS.
I have a set up where two Windows Machines are sharing
a library over SAN (using Brocade silkworm 2400
switch). One of the machines is windows 2003 server
and other is windows 2000 server.

IOCTL_STORAGE_RESET_BUS actually works on W2K3 machine
(HBA is Emulex LightPulse 9000) and it clears all
Previous SCSI Reservations (done using SCSI command
0x16) on the drives in the library and I could see
Event in Windows Event Viewer saying that SCSI bus has
been reset on request. I could then reserve the same
drive from another machine.

Problem is that IOCTL_STORAGE_RESET_BUS on W2K machine
returns success but (this one is Q-Logic QLA2340 HBA)
it doesn’t clear previous reservations made on drives.
I see event in windows event viewer after that saying
that “The device, \Device\Scsi\xxxxxxx, did not
respond within the timeout period.”
I enabled options to allow Target Device Reset from
QLogic Bios Configuration Utility-Advanced Adapter
Options but that didn’t help.

On w2k3 system, I tried it with both Scsiport-Miniport
and Storport-miniport drivers and it worked and clears
reservations. But on w2k system it doesn’t clear the
SCSI reservation.

Anyone has any Idea why this might be happening?
Any help on this will be really appreciated.

Thanks and Regards.
Hetal.


Do you Yahoo!?
All your favorites on one personal page – Try My Yahoo!
http://my.yahoo.com

Can be a bug in w2k’s SCSIPORT.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From: “hetal joshi”
To: “Windows System Software Devs Interest List”
Sent: Tuesday, December 07, 2004 3:04 AM
Subject: [ntdev] IOCTL_STORAGE_RESET_BUS doesn’t clear SCSI Reservations.

> Hi,
>
> I am trying to use IOCTL_STORAGE_RESET_BUS.
> I have a set up where two Windows Machines are sharing
> a library over SAN (using Brocade silkworm 2400
> switch). One of the machines is windows 2003 server
> and other is windows 2000 server.
>
> IOCTL_STORAGE_RESET_BUS actually works on W2K3 machine
> (HBA is Emulex LightPulse 9000) and it clears all
> Previous SCSI Reservations (done using SCSI command
> 0x16) on the drives in the library and I could see
> Event in Windows Event Viewer saying that SCSI bus has
> been reset on request. I could then reserve the same
> drive from another machine.
>
> Problem is that IOCTL_STORAGE_RESET_BUS on W2K machine
> returns success but (this one is Q-Logic QLA2340 HBA)
> it doesn’t clear previous reservations made on drives.
> I see event in windows event viewer after that saying
> that “The device, \Device\Scsi\xxxxxxx, did not
> respond within the timeout period.”
> I enabled options to allow Target Device Reset from
> QLogic Bios Configuration Utility-Advanced Adapter
> Options but that didn’t help.
>
> On w2k3 system, I tried it with both Scsiport-Miniport
> and Storport-miniport drivers and it worked and clears
> reservations. But on w2k system it doesn’t clear the
> SCSI reservation.
>
> Anyone has any Idea why this might be happening?
> Any help on this will be really appreciated.
>
> Thanks and Regards.
> Hetal.
>
>
>
>
>
>
>
> __________________________________
> Do you Yahoo!?
> All your favorites on one personal page - Try My Yahoo!
> http://my.yahoo.com
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>

This is a problem with QLogic’s miniport, not scsiport. It’s fairly
common for driver vendors to “interpret” why they are seeing a bus
reset. Try setting MSCS=2 in DriverParameter (would be nice if QLogic
did the right thing to begin with, also nice if they documented this). I
believe this overrides the BIOS settings although again, w/o
documentation it’s hard to say.

The assumption that a bus reset is something that only clusters sends.
In fact, there are other uses such as clearing stuck commands (scsiport
only). W2K3 uses the new IOCTL_STORAGE_BREAK_RESERVATION - on scsiport
this becomes bus reset but on storport this results in individual LUN
Resets (or possibly target resets if LUN doesn’t work).

-----Original Message-----
From: Maxim S. Shatskih [mailto:xxxxx@storagecraft.com]
Sent: Monday, December 06, 2004 4:32 PM
Subject: Re: IOCTL_STORAGE_RESET_BUS doesn’t clear SCSI Reservations.

Can be a bug in w2k’s SCSIPORT.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

----- Original Message -----
From: “hetal joshi”
To: “Windows System Software Devs Interest List”
Sent: Tuesday, December 07, 2004 3:04 AM
Subject: [ntdev] IOCTL_STORAGE_RESET_BUS doesn’t clear SCSI
Reservations.

> Hi,
>
> I am trying to use IOCTL_STORAGE_RESET_BUS.
> I have a set up where two Windows Machines are sharing
> a library over SAN (using Brocade silkworm 2400
> switch). One of the machines is windows 2003 server
> and other is windows 2000 server.
>
> IOCTL_STORAGE_RESET_BUS actually works on W2K3 machine
> (HBA is Emulex LightPulse 9000) and it clears all
> Previous SCSI Reservations (done using SCSI command
> 0x16) on the drives in the library and I could see
> Event in Windows Event Viewer saying that SCSI bus has
> been reset on request. I could then reserve the same
> drive from another machine.
>
> Problem is that IOCTL_STORAGE_RESET_BUS on W2K machine
> returns success but (this one is Q-Logic QLA2340 HBA)
> it doesn’t clear previous reservations made on drives.
> I see event in windows event viewer after that saying
> that “The device, \Device\Scsi\xxxxxxx, did not
> respond within the timeout period.”
> I enabled options to allow Target Device Reset from
> QLogic Bios Configuration Utility-Advanced Adapter
> Options but that didn’t help.
>
> On w2k3 system, I tried it with both Scsiport-Miniport
> and Storport-miniport drivers and it worked and clears
> reservations. But on w2k system it doesn’t clear the
> SCSI reservation.
>
> Anyone has any Idea why this might be happening?
> Any help on this will be really appreciated.
>
> Thanks and Regards.
> Hetal.
>
>
>
>
>
>
>
> __________________________________
> Do you Yahoo!?
> All your favorites on one personal page - Try My Yahoo!
> http://my.yahoo.com
>
> —
> Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256
>
> You are currently subscribed to ntdev as: xxxxx@storagecraft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>

Thanks Jeffrey and Maxim for your reply.
I tried Emulex HBA and Reset Actually worked as it
supposed to be.
I tried setting MSCS=2 and MSCS=1 both but that didn’t
help.
We have posted a Question for QLogic. I will post any
information that i find here.

Hetal.

— Jeffrey Goldner wrote:

> This is a problem with QLogic’s miniport, not
> scsiport. It’s fairly
> common for driver vendors to “interpret” why they
> are seeing a bus
> reset. Try setting MSCS=2 in DriverParameter (would
> be nice if QLogic
> did the right thing to begin with, also nice if they
> documented this). I
> believe this overrides the BIOS settings although
> again, w/o
> documentation it’s hard to say.
>
> The assumption that a bus reset is something that
> only clusters sends.
> In fact, there are other uses such as clearing stuck
> commands (scsiport
> only). W2K3 uses the new
> IOCTL_STORAGE_BREAK_RESERVATION - on scsiport
> this becomes bus reset but on storport this results
> in individual LUN
> Resets (or possibly target resets if LUN doesn’t
> work).
>
> -----Original Message-----
> From: Maxim S. Shatskih
> [mailto:xxxxx@storagecraft.com]
> Sent: Monday, December 06, 2004 4:32 PM
> Subject: Re: IOCTL_STORAGE_RESET_BUS doesn’t clear
> SCSI Reservations.
>
> Can be a bug in w2k’s SCSIPORT.
>
> Maxim Shatskih, Windows DDK MVP
> StorageCraft Corporation
> xxxxx@storagecraft.com
> http://www.storagecraft.com
>
> ----- Original Message -----
> From: “hetal joshi”
> To: “Windows System Software Devs Interest List”
>
> Sent: Tuesday, December 07, 2004 3:04 AM
> Subject: [ntdev] IOCTL_STORAGE_RESET_BUS doesn’t
> clear SCSI
> Reservations.
>
>
> > Hi,
> >
> > I am trying to use IOCTL_STORAGE_RESET_BUS.
> > I have a set up where two Windows Machines are
> sharing
> > a library over SAN (using Brocade silkworm 2400
> > switch). One of the machines is windows 2003
> server
> > and other is windows 2000 server.
> >
> > IOCTL_STORAGE_RESET_BUS actually works on W2K3
> machine
> > (HBA is Emulex LightPulse 9000) and it clears all
> > Previous SCSI Reservations (done using SCSI
> command
> > 0x16) on the drives in the library and I could see
> > Event in Windows Event Viewer saying that SCSI bus
> has
> > been reset on request. I could then reserve the
> same
> > drive from another machine.
> >
> > Problem is that IOCTL_STORAGE_RESET_BUS on W2K
> machine
> > returns success but (this one is Q-Logic QLA2340
> HBA)
> > it doesn’t clear previous reservations made on
> drives.
> > I see event in windows event viewer after that
> saying
> > that “The device, \Device\Scsi\xxxxxxx, did not
> > respond within the timeout period.”
> > I enabled options to allow Target Device Reset
> from
> > QLogic Bios Configuration Utility-Advanced Adapter
> > Options but that didn’t help.
> >
> > On w2k3 system, I tried it with both
> Scsiport-Miniport
> > and Storport-miniport drivers and it worked and
> clears
> > reservations. But on w2k system it doesn’t clear
> the
> > SCSI reservation.
> >
> > Anyone has any Idea why this might be happening?
> > Any help on this will be really appreciated.
> >
> > Thanks and Regards.
> > Hetal.
> >
> >
> >
> >
> >
> >
> >
> >
> > Do you Yahoo!?
> > All your favorites on one personal page - Try My
> Yahoo!
> > http://my.yahoo.com
> >
> > —
> > Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
> >
> > You are currently subscribed to ntdev as:
> xxxxx@storagecraft.com
> > 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
>


Do you Yahoo!?
The all-new My Yahoo! - What will yours do?
http://my.yahoo.com