Driver examples using reparse

Greetings,

Does anyone know of a driver example that uses reparse? I’m building a
logical volume driver and need to direct reads and writes to various
underlying disks based on stripe/mirror parameters. I’ve looked a bit at
diskperf as a simple pass through driver, but I not sure how to redirect
IRPs to multiple disks…

thanks in advance,
-bob

I don’ think that reparse is going to help you. This is basically a
filesystem level construct and you are operating at the volume level
below the filesystem.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@dunstable.org
Sent: Tuesday, July 05, 2005 10:07 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Driver examples using reparse

Greetings,

Does anyone know of a driver example that uses reparse? I’m building a
logical volume driver and need to direct reads and writes to various
underlying disks based on stripe/mirror parameters. I’ve looked a bit
at
diskperf as a simple pass through driver, but I not sure how to redirect
IRPs to multiple disks…

thanks in advance,
-bob


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

You are currently subscribed to ntdev as: xxxxx@stratus.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Only CREATE IRPs are subject to reparse, not IO IRPs.

Reparse is similar to a generalized “follow symlink” semantics known from
UNIXen.

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

----- Original Message -----
From:
To: “Windows System Software Devs Interest List”
Sent: Tuesday, July 05, 2005 6:07 PM
Subject: [ntdev] Driver examples using reparse

> Greetings,
>
> Does anyone know of a driver example that uses reparse? I’m building a
> logical volume driver and need to direct reads and writes to various
> underlying disks based on stripe/mirror parameters. I’ve looked a bit at
> diskperf as a simple pass through driver, but I not sure how to redirect
> IRPs to multiple disks…
>
> thanks in advance,
> -bob
>
> —
> 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 Maxim and Mark for your responses.

hmmm… Any idea as to what mechanism could be used to deliver I/O
requests from the logical volume to the various physical/logical volumes
underneath it?

Thanks

Only CREATE IRPs are subject to reparse, not IO IRPs.

Reparse is similar to a generalized “follow symlink” semantics known
from
UNIXen.

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

----- Original Message -----
From:
> To: “Windows System Software Devs Interest List”
> Sent: Tuesday, July 05, 2005 6:07 PM
> Subject: [ntdev] Driver examples using reparse
>
>
>> Greetings,
>>
>> Does anyone know of a driver example that uses reparse? I’m building a
>> logical volume driver and need to direct reads and writes to various
>> underlying disks based on stripe/mirror parameters. I’ve looked a bit
>> at
>> diskperf as a simple pass through driver, but I not sure how to redirect
>> IRPs to multiple disks…
>>
>> thanks in advance,
>> -bob
>>
>> —
>> 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: xxxxx@dunstable.org
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>

The so-called “volume manager” below the filesystem and snapshotting
software.

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

----- Original Message -----
From:
To: “Windows System Software Devs Interest List”
Sent: Tuesday, July 05, 2005 10:29 PM
Subject: Re: [ntdev] Driver examples using reparse

> Thanks Maxim and Mark for your responses.
>
> hmmm… Any idea as to what mechanism could be used to deliver I/O
> requests from the logical volume to the various physical/logical volumes
> underneath it?
>
> Thanks
>
>
>
> > Only CREATE IRPs are subject to reparse, not IO IRPs.
> >
> > Reparse is similar to a generalized “follow symlink” semantics known
> > from
> > UNIXen.
> >
> > Maxim Shatskih, Windows DDK MVP
> > StorageCraft Corporation
> > xxxxx@storagecraft.com
> > http://www.storagecraft.com
> >
> > ----- Original Message -----
> > From:
> > To: “Windows System Software Devs Interest List”
> > Sent: Tuesday, July 05, 2005 6:07 PM
> > Subject: [ntdev] Driver examples using reparse
> >
> >
> >> Greetings,
> >>
> >> Does anyone know of a driver example that uses reparse? I’m building a
> >> logical volume driver and need to direct reads and writes to various
> >> underlying disks based on stripe/mirror parameters. I’ve looked a bit
> >> at
> >> diskperf as a simple pass through driver, but I not sure how to redirect
> >> IRPs to multiple disks…
> >>
> >> thanks in advance,
> >> -bob
> >>
> >> —
> >> 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: xxxxx@dunstable.org
> > 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: xxxxx@storagecraft.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com

You can easily redirect the read or write irp to the underlying volume to
which you want it passed, simply update the device object accordingly and
call the correct underlying device in IoCallDriver(). You can also create a
set of read or write irps, termed associated irps, which represent the
incoming irp, and pass these irps down to multiple devices, completing the
primary irp when all the individual irps have completed. Read up on
IoMakeAssociatedIrp for the concept. You can then either roll up your own or
use this API to create the associated irps.

Pete

Kernel Drivers
Windows Filesystem and Device Driver Consulting
www.KernelDrivers.com
(303)546-0300

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@dunstable.org
Sent: Tuesday, July 05, 2005 12:29 PM
To: Windows System Software Devs Interest List
Subject: Re: [ntdev] Driver examples using reparse

Thanks Maxim and Mark for your responses.

hmmm… Any idea as to what mechanism could be used to deliver I/O
requests from the logical volume to the various physical/logical volumes
underneath it?

Thanks

Only CREATE IRPs are subject to reparse, not IO IRPs.

Reparse is similar to a generalized “follow symlink” semantics known
from
UNIXen.

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

----- Original Message -----
From:
> To: “Windows System Software Devs Interest List”
> Sent: Tuesday, July 05, 2005 6:07 PM
> Subject: [ntdev] Driver examples using reparse
>
>
>> Greetings,
>>
>> Does anyone know of a driver example that uses reparse? I’m building a
>> logical volume driver and need to direct reads and writes to various
>> underlying disks based on stripe/mirror parameters. I’ve looked a bit
>> at
>> diskperf as a simple pass through driver, but I not sure how to redirect
>> IRPs to multiple disks…
>>
>> thanks in advance,
>> -bob
>>
>> —
>> 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: xxxxx@dunstable.org
> 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: xxxxx@kerneldrivers.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Peter,
Thanks for the info.
-bob
----- Original Message -----
From: “Peter Scott”
To: “Windows System Software Devs Interest List”
Sent: Tuesday, July 05, 2005 3:25 PM
Subject: RE: [ntdev] Driver examples using reparse

>
> You can easily redirect the read or write irp to the underlying volume to
> which you want it passed, simply update the device object accordingly and
> call the correct underlying device in IoCallDriver(). You can also create
> a
> set of read or write irps, termed associated irps, which represent the
> incoming irp, and pass these irps down to multiple devices, completing the
> primary irp when all the individual irps have completed. Read up on
> IoMakeAssociatedIrp for the concept. You can then either roll up your own
> or
> use this API to create the associated irps.
>
> Pete
>
> Kernel Drivers
> Windows Filesystem and Device Driver Consulting
> www.KernelDrivers.com
> (303)546-0300
>
>
> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of xxxxx@dunstable.org
> Sent: Tuesday, July 05, 2005 12:29 PM
> To: Windows System Software Devs Interest List
> Subject: Re: [ntdev] Driver examples using reparse
>
> Thanks Maxim and Mark for your responses.
>
> hmmm… Any idea as to what mechanism could be used to deliver I/O
> requests from the logical volume to the various physical/logical volumes
> underneath it?
>
> Thanks
>
>
>
>> Only CREATE IRPs are subject to reparse, not IO IRPs.
>>
>> Reparse is similar to a generalized “follow symlink” semantics known
>> from
>> UNIXen.
>>
>> Maxim Shatskih, Windows DDK MVP
>> StorageCraft Corporation
>> xxxxx@storagecraft.com
>> http://www.storagecraft.com
>>
>> ----- Original Message -----
>> From:
>> To: “Windows System Software Devs Interest List”
>> Sent: Tuesday, July 05, 2005 6:07 PM
>> Subject: [ntdev] Driver examples using reparse
>>
>>
>>> Greetings,
>>>
>>> Does anyone know of a driver example that uses reparse? I’m building a
>>> logical volume driver and need to direct reads and writes to various
>>> underlying disks based on stripe/mirror parameters. I’ve looked a bit
>>> at
>>> diskperf as a simple pass through driver, but I not sure how to redirect
>>> IRPs to multiple disks…
>>>
>>> thanks in advance,
>>> -bob
>>>
>>> —
>>> 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: xxxxx@dunstable.org
>> 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: xxxxx@kerneldrivers.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: xxxxx@dunstable.org
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>