Sending SCSI_PASS_THROUGH to non-existent LUN

Hi, this question was asked as far back as 1995!!! bit ive never seen an
answer. The orginal question asked before sums it up, see below. Im working on
a RAID controller, and to create a new drive you need to send the mode select
to a non-existant LUN (which will become the LUN for your new drive). So is
there a way and how? (original question from 1995 below)

Stephen

I’m dealing with a SCSI device that has the ability to dynamically
create new lun’s. That is, an application can send a command to the
device causing it to create a new logical unit on the device.

Specifically, the application sends a MODE_SELECT specifying the
desired new LUN in the CDB, along with appropriate MODE PAGE data.

My question is this:

In order to issue a DeviceIoControl call, I have to have a handle. In
order to open a handle, I have to have a device. A device for the
target lun doesn’t exist, cause I haven’t issued the command to create
it yet. This sounds like catch-22 to me.


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

You would have to do this from the miniport driver using a private
SRB_IOCTL. I think that otherwise scsiport will not be too happy about your
sending SRBs to invalid addresses.

Mark Roddy
xxxxx@hollistech.com
www.hollistech.com
603 321 1032
WindowsNT Windows 2000 Consulting Services

-----Original Message-----
From: Stephen Farrell [mailto:xxxxx@tcd.ie]
Sent: Tuesday, March 13, 2001 11:58 AM
To: NT Developers Interest List
Subject: [ntdev] Sending SCSI_PASS_THROUGH to non-existent LUN

Hi, this question was asked as far back as 1995!!! bit ive never seen an
answer. The orginal question asked before sums it up, see below. Im working
on
a RAID controller, and to create a new drive you need to send the mode
select
to a non-existant LUN (which will become the LUN for your new drive). So is
there a way and how? (original question from 1995 below)

Stephen

I’m dealing with a SCSI device that has the ability to dynamically
create new lun’s. That is, an application can send a command to the
device causing it to create a new logical unit on the device.

Specifically, the application sends a MODE_SELECT specifying the
desired new LUN in the CDB, along with appropriate MODE PAGE data.

My question is this:

In order to issue a DeviceIoControl call, I have to have a handle. In
order to open a handle, I have to have a device. A device for the
target lun doesn’t exist, cause I haven’t issued the command to create
it yet. This sounds like catch-22 to me.


You are currently subscribed to ntdev as: xxxxx@stratus.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

SCSIPORT doesn’t maintain SRB queues for LUNs that it doesn’t believe
exist, so it rejects your I/O without even sending it to the miniport.

If your target responds to inquiry commands to LUNs that don’t exist,
but with a device-type qualifier that says they are ‘disconnected’, you
can configure SCSIPORT to recognize these LUNs:

HKLM\SYSTEM\DISK ScanDisconnectedDevices (REG_DWORD) = 1

Other configurable devices I’ve seen accept the configuration commands
on LUN 0 (which exists by default, or you setup offline).


Dave Cox
Hewlett-Packard Co.
NSSO/SNS/SRM (Santa Barbara)
https://ecardfile.com/id/Dave+Cox

-----Original Message-----
From: Stephen Farrell [mailto:xxxxx@tcd.ie]
Sent: Tuesday, March 13, 2001 8:58 AM
To: NT Developers Interest List
Subject: [ntdev] Sending SCSI_PASS_THROUGH to non-existent LUN

Hi, this question was asked as far back as 1995!!! bit ive
never seen an
answer. The orginal question asked before sums it up, see
below. Im working on
a RAID controller, and to create a new drive you need to send
the mode select
to a non-existant LUN (which will become the LUN for your new
drive). So is
there a way and how? (original question from 1995 below)

Stephen

> I’m dealing with a SCSI device that has the ability to dynamically
> create new lun’s. That is, an application can send a command to the
> device causing it to create a new logical unit on the device.
>
> Specifically, the application sends a MODE_SELECT specifying the
> desired new LUN in the CDB, along with appropriate MODE PAGE data.
>
>
>
>
> My question is this:
>
> In order to issue a DeviceIoControl call, I have to have a
handle. In
> order to open a handle, I have to have a device. A device for the
> target lun doesn’t exist, cause I haven’t issued the
command to create
> it yet. This sounds like catch-22 to me.


You are currently subscribed to ntdev as: david_cox2@hp.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

All RAID maintenance commands are issued to LUN_ZERO which by default is the
raid controller itself.
So for creating a new logical unit, commands should be directed at this
target.This would be a standard behavior of RAID devices(see SCC
specification).But it all depend on how things have been implemented in the
raid box.
In this particular case, one can open the \.\scsiportN device and send the
passthrough ioctl. U can also play around with miniport registry settings of
LargeLuns and its NVRAM setting from BIOS utility too.

Thanks,
Pashupati Kumar
Member Of Technical Staff
Legato Systems
New Delhi, India.

xxxxx@legato.com
Ph: +91-11-6826622/410/846(ext-165)
Fax: +91-11-6929170

SCSIPORT doesn’t maintain SRB queues for LUNs that it doesn’t believe
exist, so it rejects your I/O without even sending it to the miniport.

If your target responds to inquiry commands to LUNs that don’t exist,
but with a device-type qualifier that says they are ‘disconnected’, you
can configure SCSIPORT to recognize these LUNs:

HKLM\SYSTEM\DISK> ScanDisconnectedDevices (REG_DWORD) = 1

Other configurable devices I’ve seen accept the configuration commands
on LUN 0 (which exists by default, or you setup offline).


Dave Cox
Hewlett-Packard Co.
NSSO/SNS/SRM (Santa Barbara)
https://ecardfile.com/id/Dave+Cox

> -----Original Message-----
> From: Stephen Farrell [mailto:xxxxx@tcd.ie]
> Sent: Tuesday, March 13, 2001 8:58 AM
> To: NT Developers Interest List
> Subject: [ntdev] Sending SCSI_PASS_THROUGH to non-existent LUN
>
>
> Hi, this question was asked as far back as 1995!!! bit ive
> never seen an
> answer. The orginal question asked before sums it up, see
> below. Im working on
> a RAID controller, and to create a new drive you need to send
> the mode select
> to a non-existant LUN (which will become the LUN for your new
> drive). So is
> there a way and how? (original question from 1995 below)
>
> Stephen
>
> > I’m dealing with a SCSI device that has the ability to dynamically
> > create new lun’s. That is, an application can send a command to the
> > device causing it to create a new logical unit on the device.
> >
> > Specifically, the application sends a MODE_SELECT specifying the
> > desired new LUN in the CDB, along with appropriate MODE PAGE data.
> >
> >
> >
> >
> > My question is this:
> >
> > In order to issue a DeviceIoControl call, I have to have a
> handle. In
> > order to open a handle, I have to have a device. A device for the
> > target lun doesn’t exist, cause I haven’t issued the
> command to create
> > it yet. This sounds like catch-22 to me.
>
>
> —
> You are currently subscribed to ntdev as: david_cox2@hp.com
> To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com
>


You are currently subscribed to ntdev as: xxxxx@Legato.COM
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

any idea where this is on windows 2000?

thanks,
Steve

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com]On Behalf Of COX,DAVID
(HP-Roseville,ex1)
Sent: 13 March 2001 17:48
To: NT Developers Interest List
Subject: [ntdev] RE: Sending SCSI_PASS_THROUGH to non-existent LUN

SCSIPORT doesn’t maintain SRB queues for LUNs that it doesn’t believe
exist, so it rejects your I/O without even sending it to the miniport.

If your target responds to inquiry commands to LUNs that don’t exist,
but with a device-type qualifier that says they are ‘disconnected’, you
can configure SCSIPORT to recognize these LUNs:

HKLM\SYSTEM\DISK ScanDisconnectedDevices (REG_DWORD) = 1

Other configurable devices I’ve seen accept the configuration commands
on LUN 0 (which exists by default, or you setup offline).


Dave Cox
Hewlett-Packard Co.
NSSO/SNS/SRM (Santa Barbara)
https://ecardfile.com/id/Dave+Cox

-----Original Message-----
From: Stephen Farrell [mailto:xxxxx@tcd.ie]
Sent: Tuesday, March 13, 2001 8:58 AM
To: NT Developers Interest List
Subject: [ntdev] Sending SCSI_PASS_THROUGH to non-existent LUN

Hi, this question was asked as far back as 1995!!! bit ive
never seen an
answer. The orginal question asked before sums it up, see
below. Im working on
a RAID controller, and to create a new drive you need to send
the mode select
to a non-existant LUN (which will become the LUN for your new
drive). So is
there a way and how? (original question from 1995 below)

Stephen

> I’m dealing with a SCSI device that has the ability to dynamically
> create new lun’s. That is, an application can send a command to the
> device causing it to create a new logical unit on the device.
>
> Specifically, the application sends a MODE_SELECT specifying the
> desired new LUN in the CDB, along with appropriate MODE PAGE data.
>
>
>
>
> My question is this:
>
> In order to issue a DeviceIoControl call, I have to have a
handle. In
> order to open a handle, I have to have a device. A device for the
> target lun doesn’t exist, cause I haven’t issued the
command to create
> it yet. This sounds like catch-22 to me.


You are currently subscribed to ntdev as: david_cox2@hp.com
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: xxxxx@tcd.ie
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com