Logical volumes - DMIO.SYS

I need to directly access the volume sets managed by DMIO, basically I want
to read/write my own blocks to the volume.

There’s no information in the DDK or the MSDN library, so before I start
the hard work of writing debug filter drivers to find out how it works,
thought I’d ask here if anyone has done any work with DMIO or found any
documentation.

For each logical volume DMIO creates 2 devices, one called BlockVolumeNN
where NN is just a sequential number and one called RawVolumeNN.

The BlockVolumeNN device is of type FILE_DEVICE_DISK, this imply that it
should look and behave like any other disk device and respond to
IOCTL_DISK_XXX commands, which is what I’ll first be testing. If anybody
can tell me whether or not I’m heading in the right direction, I’d be very
happy.

There are a number of other devices created by DMIO, including a config
device, does anyone know what goes on through this and the other extra
devices. Some of the stuff I’m interested in here is knowing when a RAID
set is running in degraded mode, or starting/stopping re-generating.

Any and all help on this topic would be most appreciated.

regards,

Mark.


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

The Veritas stuff is all a closed box. Anybody who really knows would be
violating their NDAs by telling you. Reverse engineering is all you can
do. Mark Russinovich did some work decoding the physical disk database
stuff - you might check www.sysinternals.com to see if there is any
other information there. What you are trying to do is what Veritas would
like to sell you a license for - their api into their tools. I’m
guessing that they have done some work to keep this all as nailed down
as they possibly can.

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Mark S. Edwards
Sent: Friday, July 06, 2001 10:22 AM
To: NT Developers Interest List
Subject: [ntdev] Logical volumes - DMIO.SYS

I need to directly access the volume sets managed by DMIO,
basically I want
to read/write my own blocks to the volume.

There’s no information in the DDK or the MSDN library, so
before I start
the hard work of writing debug filter drivers to find out how
it works,
thought I’d ask here if anyone has done any work with DMIO or
found any
documentation.

For each logical volume DMIO creates 2 devices, one called
BlockVolumeNN
where NN is just a sequential number and one called RawVolumeNN.

The BlockVolumeNN device is of type FILE_DEVICE_DISK, this
imply that it
should look and behave like any other disk device and respond to
IOCTL_DISK_XXX commands, which is what I’ll first be testing.
If anybody
can tell me whether or not I’m heading in the right
direction, I’d be very
happy.

There are a number of other devices created by DMIO,
including a config
device, does anyone know what goes on through this and the
other extra
devices. Some of the stuff I’m interested in here is knowing
when a RAID
set is running in degraded mode, or starting/stopping re-generating.

Any and all help on this topic would be most appreciated.

regards,

Mark.


You are currently subscribed to ntdev as: xxxxx@tellink.net
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

If u have access to winobj (from sysinternals or MSTOOLS), u can find about
all the symbolic links and device names created by DMIO.sys and
ftdisk.sys.If you are going to use BlockVolumeNN, you would be still going
thru DMIO.sys and i think its no different from using the volume name
(\.\volume{GUID}). If you want to go beaneath DMIO.sys and write to the
disk extents of volume, then u need to find the disk extents assoicated with
a volume and open the the physical disks itself and write to the offset.
Some of the devices created by DMIO.sys is for the purpose of private
communication between user mode and driver, and some represents entry points
for the configuration info for the DMIO.

thanx
pash

I need to directly access the volume sets managed by DMIO, basically I
want
to read/write my own blocks to the volume.

There’s no information in the DDK or the MSDN library, so before I start
the hard work of writing debug filter drivers to find out how it works,
thought I’d ask here if anyone has done any work with DMIO or found any
documentation.

For each logical volume DMIO creates 2 devices, one called BlockVolumeNN
where NN is just a sequential number and one called RawVolumeNN.

The BlockVolumeNN device is of type FILE_DEVICE_DISK, this imply that it
should look and behave like any other disk device and respond to
IOCTL_DISK_XXX commands, which is what I’ll first be testing. If anybody
can tell me whether or not I’m heading in the right direction, I’d be very
happy.

There are a number of other devices created by DMIO, including a config
device, does anyone know what goes on through this and the other extra
devices. Some of the stuff I’m interested in here is knowing when a RAID
set is running in degraded mode, or starting/stopping re-generating.

Any and all help on this topic would be most appreciated.

regards,

Mark.


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