I have a HyperV Failover Cluster with 2 nodes having a shared CSV Volume . When the co ordinator node for the disc changes ,In that co-ordinator node , an NTFS volume gets mounted .
I am building a file system filter driver to track I/Os to VHDS in CSV volumes . But the driver stack retrieves certain IRPs from the mounted NTFS stack for SHARED VHDX alone (Mostly metadata I/O s ).
I have problem in actually mapping the NT Device path (of the Mounted NTFS volume of the Co_Ordintaor Node) since it is hidden and has no volume GUID or drive letter .
But as far as the other CSV vhds (NOT SHARED VHDX)dont fetch these kind of IRPS ,fetching the IRPs of the actual CSV volume .
The actual NT Device path of the SHARED VHDX IN CSV are somewhat like
\Device\CSVVolume12\VHDXFILE.VHDX:SHAREDVIRTUALDISK
The additonal IRPS for the same file is recieved somewhat like
\Device\HardDiskVolume14\VHDXFILE.VHDX:SHAREDVIRTUALDISK (This is the mounted NTFS volume of the co-ordinator node of the CSV disk )
The 2 questions that I have are
1) Why do I recieve this specifically for shared Vhdx and not for other CSV Vhds ?
2) How can I map the NT device path recieved in the IRP with additional NTFS mount volume ?