disk PDO with VPB != NULL

Can anybody please enlighten me why a port driver will create a VPB for a PDO ? I’m observing this on some vendor’s port driver in RAID mode. Thank you.

The I/O Manager allocates VPBs at IoCreateDevice time based on the
DeviceType of the device object. All disks, cdroms, and tapes get VPBs.

-scott


Scott Noone
Consulting Associate and Chief System Problem Analyst
OSR Open Systems Resources, Inc.
http://www.osronline.com

wrote in message news:xxxxx@ntdev…

Can anybody please enlighten me why a port driver will create a VPB for a
PDO ? I’m observing this on some vendor’s port driver in RAID mode. Thank
you.

Scott,

with FDOs yes. But I have not seen a port driver created a PDO with a VPB. I checked all other port drivers available to me and they all have no VPB. I fact even this particular vendor’s port driver does not create a VPB in non-RAID mode. It is only in RAID mode it is creating a VPB. I’m just curious why so.

Thanks.

What Device Type are the PDO Device Objects created with? I suspect that’s your answer.

Remember, PDO or FDO… they’re really both just DEVICE_OBJECTs. PDO or FDO is a *role* the DEVICE_OBJECT performs, not a physical characteristic of the object itself.

Peter
OSR

This was the first thing, I checked. In all the cases PDO was of type 0x7 (FILE_DEVICE_DISK).

The only difference was in DeviceObject->SectorSize which was non-zero for this PDO with non-NULL VPB while for others it is zero. As per msdn "If the device object does not represent a volume, this member is set to zero. If the device object represents a volume, this member specifies the volume’s sector size, in bytes. "

>I fact even this particular vendor’s port driver does not create a VPB in

non-RAID mode.
It is only in RAID mode it is creating a VPB. I’m just curious why so.

It’s possible that it’s using different device types at creation time. Have
you tried setting a breakpoint when these device objects are created and
inspecting the parameters?

As for why they would do this, I suspect that they might just not understand
the implications of using FILE_DEVICE_DISK as the type. These aren’t
actually mounted, right?

-scott


Scott Noone
Consulting Associate and Chief System Problem Analyst
OSR Open Systems Resources, Inc.
http://www.osronline.com

No these are not actually mounted. I will check the parameters. But still the question remains what is the purpose of creating a VPB for a disk PDO ?

>But still the question remains what is the purpose of creating a VPB for a

disk PDO ?

No idea, seems odd to me. An FDO I could understand (this is the way some
removable media devices used to be mounted), but on the PDO doesn’t make
much sense.

However, as mentioned previously, the I/O Manager doesn’t care about what
the intended use of the device object is at creation time. If the DeviceType
is one of the sacred, VPB worthy types then the VPB is getting created.

-scott


Scott Noone
Consulting Associate and Chief System Problem Analyst
OSR Open Systems Resources, Inc.
http://www.osronline.com

wrote in message news:xxxxx@ntdev…

No these are not actually mounted. I will check the parameters. But still
the question remains what is the purpose of creating a VPB for a disk PDO ?