whether I need another disk filter driver

Hi All,

Currently my scsi miniport driver virtualizes a disk drive for a specific
combination that is PathId = 0, TargetId = 1, Lun = 0.
And we have a disk filter driver also in the upper layer to do some
filtering operations for the same virtual disk.

Now, I would like to add another virtual disk where PathId = 0, TargetId =
1, Lun = 1.

Here, should I have to write a sepatare disk filter driver to perform the
same kind of filtering I used to do for the first disk ? As in the filter
driver all the requests comes where in SRB comes for PathId = 0, TargetId =
0, Lun = 0. I usually extract the SRB from IRP in VA_Dispatch() method in
disk filter driver. Or at that point the proper TargetId information is not
set in the IRP’s ?

Can you throw some light regarding this.

Thanks in advance

Somsubhra Raj

No your miniport driver just instantiates a second target with the
appropriate address.

=====================
Mark Roddy DDK MVP
Windows 2003/XP/2000 Consulting
Hollis Technology Solutions 603-321-1032
www.hollistech.com


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Somsubhra Raj
Sent: Tuesday, June 06, 2006 7:38 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] whether I need another disk filter driver

Hi All,

Currently my scsi miniport driver virtualizes a disk drive for a specific
combination that is PathId = 0, TargetId = 1, Lun = 0.
And we have a disk filter driver also in the upper layer to do some
filtering operations for the same virtual disk.

Now, I would like to add another virtual disk where PathId = 0, TargetId =
1, Lun = 1.

Here, should I have to write a sepatare disk filter driver to perform the
same kind of filtering I used to do for the first disk ? As in the filter
driver all the requests comes where in SRB comes for PathId = 0, TargetId =
0, Lun = 0. I usually extract the SRB from IRP in VA_Dispatch() method in
disk filter driver. Or at that point the proper TargetId information is not
set in the IRP’s ?

Can you throw some light regarding this.

Thanks in advance

Somsubhra Raj
— Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256 To unsubscribe, visit the List
Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

Hi Mark,

I got your point that I dont need another disk filter driver.

However do you have any idea as to why the PathId, TargetId & Lun values are
all set to 0 in the disk filter driver where as my virtual disk TargetId is

  1. I got these values in SRB extrated from IRP in Disk Filter driver. In
    this case I cant differentiate between different devices in filter driver
    level. Although miniport driver requests are addressed properly.

Do you have any idea regarding this ?

Somsubhra Raj

On 6/6/06, Mark Roddy wrote:
>
> No your miniport driver just instantiates a second target with the
> appropriate address.
>
>
> =====================
> Mark Roddy DDK MVP
> Windows 2003/XP/2000 Consulting
> Hollis Technology Solutions 603-321-1032
> www.hollistech.com
>
>
> ------------------------------
> From: xxxxx@lists.osr.com [mailto:
> xxxxx@lists.osr.com] *On Behalf Of *Somsubhra Raj
> Sent: Tuesday, June 06, 2006 7:38 AM
> To: Windows System Software Devs Interest List
> Subject: [ntdev] whether I need another disk filter driver
>
>
>
> Hi All,
>
> Currently my scsi miniport driver virtualizes a disk drive for a specific
> combination that is PathId = 0, TargetId = 1, Lun = 0.
> And we have a disk filter driver also in the upper layer to do some
> filtering operations for the same virtual disk.
>
> Now, I would like to add another virtual disk where PathId = 0, TargetId =
> 1, Lun = 1.
>
> Here, should I have to write a sepatare disk filter driver to perform the
> same kind of filtering I used to do for the first disk ? As in the filter
> driver all the requests comes where in SRB comes for PathId = 0, TargetId =
> 0, Lun = 0. I usually extract the SRB from IRP in VA_Dispatch() method in
> disk filter driver. Or at that point the proper TargetId information is not
> set in the IRP’s ?
>
> Can you throw some light regarding this.
>
> Thanks in advance
>
> Somsubhra Raj
> — Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256 To unsubscribe, visit the List
> Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>
>
> —
> Questions? First check the Kernel Driver FAQ at
> http://www.osronline.com/article.cfm?id=256
>
> To unsubscribe, visit the List Server section of OSR Online at
> http://www.osronline.com/page.cfm?name=ListServer
>

You got these values from an IRP’s SRB on the way down to the miniport?
Then they will always be zero and you are going after the scsiaddress
the wrong way.

Try using IOCTL_SCSI_GET_ADDRESS in your start device routine in your
filter driver instead.


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Somsubhra Raj
Sent: Tuesday, June 06, 2006 9:58 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] whether I need another disk filter driver

Hi Mark,

I got your point that I dont need another disk filter driver.

However do you have any idea as to why the PathId, TargetId & Lun values
are all set to 0 in the disk filter driver where as my virtual disk
TargetId is 1. I got these values in SRB extrated from IRP in Disk
Filter driver. In this case I cant differentiate between different
devices in filter driver level. Although miniport driver requests are
addressed properly.

Do you have any idea regarding this ?

Somsubhra Raj

On 6/6/06, Mark Roddy wrote:

No your miniport driver just instantiates a second target with the
appropriate address.

=====================
Mark Roddy DDK MVP
Windows 2003/XP/2000 Consulting
Hollis Technology Solutions 603-321-1032
www.hollistech.com http:</http:>

________________________________

From: xxxxx@lists.osr.com [mailto:
xxxxx@lists.osr.com
mailto:xxxxx] On Behalf Of Somsubhra Raj
Sent: Tuesday, June 06, 2006 7:38 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] whether I need another disk filter driver

Hi All,

Currently my scsi miniport driver virtualizes a disk drive for a
specific combination that is PathId = 0, TargetId = 1, Lun = 0.

And we have a disk filter driver also in the upper layer to do some
filtering operations for the same virtual disk.

Now, I would like to add another virtual disk where PathId = 0, TargetId
= 1, Lun = 1.

Here, should I have to write a sepatare disk filter driver to perform
the same kind of filtering I used to do for the first disk ? As in the
filter driver all the requests comes where in SRB comes for PathId = 0,
TargetId = 0, Lun = 0. I usually extract the SRB from IRP in
VA_Dispatch() method in disk filter driver. Or at that point the proper
TargetId information is not set in the IRP’s ?

Can you throw some light regarding this.

Thanks in advance

Somsubhra Raj

— Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256 To unsubscribe, visit the
List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

— Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256 To unsubscribe, visit the
List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer</mailto:xxxxx>

The Path/Target/Lun values are set by the port driver not by the disk
driver.

Is your filter a disk class filter or a disk device filter? If it’s a
device filter then you’re already running some tool or INF to install
your filter on specific stacks, so the filter can just always do its
thing when it’s loaded. If it’s a class filter then you’ll need some
other way to inform it when it’s running on your custom miniport.

One option might be to add a miniport IOCTL to your miniport. Your disk
filter could send the IOCTL down as part of handling StartDevice & if it
succeeds would enable its filtering. Another option would be to
simulate support for a vendor specific INQUIRY page & stick a
recognizable string (“MyCustomMiniport”) in the contents of the custom
page to determine whether your miniport is running or not.

-p

From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Somsubhra Raj
Sent: Tuesday, June 06, 2006 6:58 AM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] whether I need another disk filter driver

Hi Mark,

I got your point that I dont need another disk filter driver.

However do you have any idea as to why the PathId, TargetId & Lun values
are all set to 0 in the disk filter driver where as my virtual disk
TargetId is 1. I got these values in SRB extrated from IRP in Disk
Filter driver. In this case I cant differentiate between different
devices in filter driver level. Although miniport driver requests are
addressed properly.

Do you have any idea regarding this ?

Somsubhra Raj

On 6/6/06, Mark Roddy wrote:

No your miniport driver just instantiates a second target with the
appropriate address.

=====================
Mark Roddy DDK MVP
Windows 2003/XP/2000 Consulting
Hollis Technology Solutions 603-321-1032
www.hollistech.com http:</http:>

________________________________

From: xxxxx@lists.osr.com [mailto:
xxxxx@lists.osr.com
mailto:xxxxx] On Behalf Of Somsubhra Raj
Sent: Tuesday, June 06, 2006 7:38 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] whether I need another disk filter driver

Hi All,

Currently my scsi miniport driver virtualizes a disk drive for a
specific combination that is PathId = 0, TargetId = 1, Lun = 0.

And we have a disk filter driver also in the upper layer to do some
filtering operations for the same virtual disk.

Now, I would like to add another virtual disk where PathId = 0, TargetId
= 1, Lun = 1.

Here, should I have to write a sepatare disk filter driver to perform
the same kind of filtering I used to do for the first disk ? As in the
filter driver all the requests comes where in SRB comes for PathId = 0,
TargetId = 0, Lun = 0. I usually extract the SRB from IRP in
VA_Dispatch() method in disk filter driver. Or at that point the proper
TargetId information is not set in the IRP’s ?

Can you throw some light regarding this.

Thanks in advance

Somsubhra Raj

— Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256 To unsubscribe, visit the
List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer


Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer

— Questions? First check the Kernel Driver FAQ at
http://www.osronline.com/article.cfm?id=256 To unsubscribe, visit the
List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer</mailto:xxxxx>