SCSI target reset

Is it possible to reset a SCSI target on Windows 2000 (without resetting
the whole bus)? I’m trying to do this from a SCSI Adapter upper filter.
I have pointers to the adapter FDO and LUN PDOs, and I’ve tried
targeting both.

I’ve tried IRP_MJ_SCSI w/ SRB_FUNCTION_RESET_DEVICE, and
IRP_MJ_DEVICE_CONTROL w/ IOCTL_STORAGE_RESET_DEVICE. Both fail with
STATUS_INVALID_DEVICE_REQUEST. The DDK documentation implies that this
is the expected result.

But miniports have the option of supporting SRB_FUNCTION_RESET_DEVICE,
so why can’t I invoke it? When sending an SRB with function other than
SRB_FUNCTION_EXECUTE_SCSI, does the stack location’s IoControlCode
matter?

While researching this I came across Aspi32 (Win95) docs that say that
API supports target reset. Does Aspi32 on NT/2000 support it as well
(and how)? Or does it just fail – or pretend to succeed – or reset
the bus?

What about Cluster Server – is it still resetting the whole bus when
a node wants to break the other’s reservation of the quorum disk?

Thanks,


Dave Cox
Hewlett-Packard Co.
HPSO/SMSO (Santa Barbara)
https://ecardfile.com/id/Dave+Cox

What you want is to get the SCSI message BUS_DEVICE_RST sent to the
Target. Control over functionality at this low a level is desirable but
I don’t know if it is possible with SPTI. I’ll look into it.

== SCSI Adapters & VirtualSCSI Target Mode Libs ==
Advanced Storage Concepts, Inc. (409) 744-2129
2720 Terminal Drive xxxxx@advstor.com
Galveston, TX 77554 USA www.virtualscsi.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of COX,DAVID
(HP-Roseville,ex1)
Sent: Wednesday, September 20, 2000 10:42 PM
To: NT Developers Interest List
Subject: [ntdev] SCSI target reset

Is it possible to reset a SCSI target on Windows 2000
(without resetting
the whole bus)? I’m trying to do this from a SCSI Adapter
upper filter.
I have pointers to the adapter FDO and LUN PDOs, and I’ve tried
targeting both.

I’ve tried IRP_MJ_SCSI w/ SRB_FUNCTION_RESET_DEVICE, and
IRP_MJ_DEVICE_CONTROL w/ IOCTL_STORAGE_RESET_DEVICE. Both fail with
STATUS_INVALID_DEVICE_REQUEST. The DDK documentation implies
that this
is the expected result.

But miniports have the option of supporting SRB_FUNCTION_RESET_DEVICE,
so why can’t I invoke it? When sending an SRB with function
other than
SRB_FUNCTION_EXECUTE_SCSI, does the stack location’s IoControlCode
matter?

While researching this I came across Aspi32 (Win95) docs that say that
API supports target reset. Does Aspi32 on NT/2000 support it as well
(and how)? Or does it just fail – or pretend to succeed – or reset
the bus?

What about Cluster Server – is it still resetting the whole bus when
a node wants to break the other’s reservation of the quorum disk?

Thanks,



Dave Cox
Hewlett-Packard Co.
HPSO/SMSO (Santa Barbara)
https://ecardfile.com/id/Dave+Cox


You are currently subscribed to ntdev as: xxxxx@advstor.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)

Hi,

I don’t know about the other issues but The cluster service does reset the
entire bus. Only shared devices are supposed to be present on the bus and
all of them are supposed to be locked by one node. The other node will reset
the bus the clear the reservation.

----- Original Message -----
From: “COX,DAVID (HP-Roseville,ex1)” <david_cox2>
To: “NT Developers Interest List”
Sent: Wednesday, September 20, 2000 8:41 PM
Subject: [ntdev] SCSI target reset

> Is it possible to reset a SCSI target on Windows 2000 (without resetting
> the whole bus)? I’m trying to do this from a SCSI Adapter upper filter.
> I have pointers to the adapter FDO and LUN PDOs, and I’ve tried
> targeting both.
>
> I’ve tried IRP_MJ_SCSI w/ SRB_FUNCTION_RESET_DEVICE, and
> IRP_MJ_DEVICE_CONTROL w/ IOCTL_STORAGE_RESET_DEVICE. Both fail with
> STATUS_INVALID_DEVICE_REQUEST. The DDK documentation implies that this
> is the expected result.
>
> But miniports have the option of supporting SRB_FUNCTION_RESET_DEVICE,
> so why can’t I invoke it? When sending an SRB with function other than
> SRB_FUNCTION_EXECUTE_SCSI, does the stack location’s IoControlCode
> matter?
>
> While researching this I came across Aspi32 (Win95) docs that say that
> API supports target reset. Does Aspi32 on NT/2000 support it as well
> (and how)? Or does it just fail – or pretend to succeed – or reset
> the bus?
>
> What about Cluster Server – is it still resetting the whole bus when
> a node wants to break the other’s reservation of the quorum disk?
>
> Thanks,
>
> -----------------------------------------------------------------------
> Dave Cox
> Hewlett-Packard Co.
> HPSO/SMSO (Santa Barbara)
> https://ecardfile.com/id/Dave+Cox
>
> —
> You are currently subscribed to ntdev as: xxxxx@hotmail.com
> To unsubscribe send a blank email to $subst(‘Email.Unsub’)
>
></david_cox2>

Thanks for looking into it.

I may want it to do more (or other) than that, as I am at the moment
concerned primarily with fibre channel. For me it would be ideal if I
could ignore the details and just invoke the portion of the “SCSI”
miniport driver that handles “target reset” in a way that is appropriate
for the actual underlying transport.

But I am still interested in hearing whatever you may turn up on the
use of pass-through.


Dave Cox
Hewlett-Packard Co.
HPSO/SMSO (Santa Barbara)
https://ecardfile.com/id/Dave+Cox

-----Original Message-----
From: Bill Casey [mailto:xxxxx@advstor.com]
Sent: Thursday, September 21, 2000 8:35 AM
To: NT Developers Interest List
Subject: [ntdev] RE: SCSI target reset

What you want is to get the SCSI message BUS_DEVICE_RST sent to the
Target. Control over functionality at this low a level is desirable but
I don’t know if it is possible with SPTI. I’ll look into it.

== SCSI Adapters & VirtualSCSI Target Mode Libs ==
Advanced Storage Concepts, Inc. (409) 744-2129
2720 Terminal Drive xxxxx@advstor.com
Galveston, TX 77554 USA www.virtualscsi.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of COX,DAVID
(HP-Roseville,ex1)
Sent: Wednesday, September 20, 2000 10:42 PM
To: NT Developers Interest List
Subject: [ntdev] SCSI target reset

Is it possible to reset a SCSI target on Windows 2000
(without resetting
the whole bus)? I’m trying to do this from a SCSI Adapter
upper filter.
I have pointers to the adapter FDO and LUN PDOs, and I’ve tried
targeting both.

I’ve tried IRP_MJ_SCSI w/ SRB_FUNCTION_RESET_DEVICE, and
IRP_MJ_DEVICE_CONTROL w/ IOCTL_STORAGE_RESET_DEVICE. Both fail with
STATUS_INVALID_DEVICE_REQUEST. The DDK documentation implies
that this
is the expected result.

But miniports have the option of supporting SRB_FUNCTION_RESET_DEVICE,
so why can’t I invoke it? When sending an SRB with function
other than
SRB_FUNCTION_EXECUTE_SCSI, does the stack location’s IoControlCode
matter?

While researching this I came across Aspi32 (Win95) docs that say that
API supports target reset. Does Aspi32 on NT/2000 support it as well
(and how)? Or does it just fail – or pretend to succeed – or reset
the bus?

What about Cluster Server – is it still resetting the whole bus when
a node wants to break the other’s reservation of the quorum disk?

Thanks,



Dave Cox
Hewlett-Packard Co.
HPSO/SMSO (Santa Barbara)
https://ecardfile.com/id/Dave+Cox


You are currently subscribed to ntdev as: xxxxx@advstor.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)


You are currently subscribed to ntdev as: david_cox2@hp.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)

Ayup. And you want to be sure the device supports it. Too often
the only thing you can do is yank reset…

-----Original Message-----
From: Bill Casey [mailto:xxxxx@advstor.com]
Sent: Thursday, September 21, 2000 11:35 AM
To: NT Developers Interest List
Subject: [ntdev] RE: SCSI target reset

What you want is to get the SCSI message BUS_DEVICE_RST sent to the
Target. Control over functionality at this low a level is desirable but
I don’t know if it is possible with SPTI. I’ll look into it.

== SCSI Adapters & VirtualSCSI Target Mode Libs ==
Advanced Storage Concepts, Inc. (409) 744-2129
2720 Terminal Drive xxxxx@advstor.com
Galveston, TX 77554 USA www.virtualscsi.com

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of COX,DAVID
(HP-Roseville,ex1)
Sent: Wednesday, September 20, 2000 10:42 PM
To: NT Developers Interest List
Subject: [ntdev] SCSI target reset

Is it possible to reset a SCSI target on Windows 2000
(without resetting
the whole bus)? I’m trying to do this from a SCSI Adapter
upper filter.
I have pointers to the adapter FDO and LUN PDOs, and I’ve tried
targeting both.

I’ve tried IRP_MJ_SCSI w/ SRB_FUNCTION_RESET_DEVICE, and
IRP_MJ_DEVICE_CONTROL w/ IOCTL_STORAGE_RESET_DEVICE. Both fail with
STATUS_INVALID_DEVICE_REQUEST. The DDK documentation implies
that this
is the expected result.

But miniports have the option of supporting SRB_FUNCTION_RESET_DEVICE,
so why can’t I invoke it? When sending an SRB with function
other than
SRB_FUNCTION_EXECUTE_SCSI, does the stack location’s IoControlCode
matter?

While researching this I came across Aspi32 (Win95) docs that say that
API supports target reset. Does Aspi32 on NT/2000 support it as well
(and how)? Or does it just fail – or pretend to succeed – or reset
the bus?

What about Cluster Server – is it still resetting the whole bus when
a node wants to break the other’s reservation of the quorum disk?

Thanks,



Dave Cox
Hewlett-Packard Co.
HPSO/SMSO (Santa Barbara)
https://ecardfile.com/id/Dave+Cox


You are currently subscribed to ntdev as: xxxxx@advstor.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)


You are currently subscribed to ntdev as: xxxxx@FirstUSA.com
To unsubscribe send a blank email to $subst(‘Email.Unsub’)

> But I am still interested in hearing whatever you may turn up on the

use of pass-through.

If the SCSI device is claimed by some kernel-mode driver like Disk.sys, then
you cannot send pass-through IOCTLs for this device to the \.\Scsi%d.
You must send them to the, say, \.\PhysicalDrive%d - the Disk driver will
pass them down to the SCSI port.

Max