@“Scott_Noone_(OSR)” said:
@brad_H said:
@“Scott_Noone_(OSR)” said:
so the storage adapter is enumerating the LUN but disk driver failed to start for some reason.
So how did you find out this out (That storage adapter is enumerating the LUN but the disk driver failed to start) ? I’m asking this because i want to learn what do the storage experts look for in the output of these commands in these situation? Because there are a lot of stuff that i don’t get in the output of these commands.
The storage adapter enumerates the bus and creates a PDO for each storage device it finds. StorPort calls these “units”, so !storunit shows you things the storage adapter found:
3: kd> !storunit
STORPORT Units:
==================
Product SCSI ID Object Extension Pnd Out Ct State
--------------------------------------------------------------------------------------
0 0 0 ffffbf83a8344050 ffffbf83a83441a0 0 0 0 Working
1 0 0 ffffbf83a8321050 ffffbf83a83211a0 0 0 0 Working
The function driver for a disk is going to be the Disk Class Driver. It gets notified of the arrival of the disk and then creates an FDO for the disk device. This is what you’ll see in !storclass:
3: kd> !storclass
Storage Class Devices
Usage Legend: B = Boot, P = Paging, D = Dump, H = Hiber, R = Removable
FDO # Device ID Usage UP DN FL
-------------------------------------------------------------------------------
ffffbf83a81bd060 [1,2] 0 VMware Virtual NVMe Disk BPD ? ? 1
You can see the relation between the unit PDO and disk FDO with !devstack:
3: kd> !devstack ffffbf83a81bd060
!DevObj !DrvObj !DevExt ObjectName
ffffbf83a81bb900 \Driver\partmgr ffffbf83a81bba50
ffffbf83a81bd060 \Driver\disk ffffbf83a81bd1b0 DR0
ffffbf83a8344050 \Driver\stornvme ffffbf83a83441a0 00000071
!DevNode ffffbf83a8009010 :
DeviceInst is "SCSI\Disk&Ven_NVMe&Prod_VMware_Virtual_N\5&25a13950&0&000000"
ServiceName is "disk"
Two other things I can think of:
- Anything in the System event log?
3: kd> !wmitrace.strdump
(WmiTrace) StrDump Generic
LoggerContext Array @ 0xFFFFBF83A5D42C40 [64 Elements]
...
Logger Id 0x09 @ 0xFFFFBF83A5D7C040 Named 'EventLog-System'
...
3: kd> !logdump 9
(WmiTrace) LogDump for Logger Id 0x09
Found Buffers: 2 Messages: 23, sorting entries
- Break in very early (Ctrl+Alt+K will cycle the initial break) and set a breakpoint on the disk driver’s AddDevice. Does it get called? What does it return?
bp disk!DiskAddDevice
Thank you for the detailed answer Scott,
This is the output i get when i dumped the system even log:
!logdump 0x0a
(WmiTrace) LogDump for Logger Id 0x0a
Found Buffers: 2 Messages: 17, sorting entries
[0]0004.0008:: 133056199158101700 [Microsoft-Windows-Kernel-General//Info ]The operating system started at system time ?2022?-?08?-?22T05:31:55.500000000Z.
[0]0004.0008:: 133056199158102383 [({15ca44ff-4d7a-4baa-bba5-0998955e531e}, 153)]Event metadata not found; if you have the manifest, you may load it with the -man switch
[0]0004.0008:: 133056199158102790 [({15ca44ff-4d7a-4baa-bba5-0998955e531e}, 208)]Event metadata not found; if you have the manifest, you may load it with the -man switch
[0]0004.0008:: 133056199158103265 [({15ca44ff-4d7a-4baa-bba5-0998955e531e}, 20)]Event metadata not found; if you have the manifest, you may load it with the -man switch
[0]0004.0008:: 133056199158103282 [({15ca44ff-4d7a-4baa-bba5-0998955e531e}, 21)]Event metadata not found; if you have the manifest, you may load it with the -man switch
[0]0004.0008:: 133056199158103664 [({15ca44ff-4d7a-4baa-bba5-0998955e531e}, 25)]Event metadata not found; if you have the manifest, you may load it with the -man switch
[0]0004.0008:: 133056199158103668 [({15ca44ff-4d7a-4baa-bba5-0998955e531e}, 27)]Event metadata not found; if you have the manifest, you may load it with the -man switch
[0]0004.0008:: 133056199158103741 [({15ca44ff-4d7a-4baa-bba5-0998955e531e}, 208)]Event metadata not found; if you have the manifest, you may load it with the -man switch
[0]0004.0008:: 133056199158103747 [({15ca44ff-4d7a-4baa-bba5-0998955e531e}, 26)]Event metadata not found; if you have the manifest, you may load it with the -man switch
[0]0004.0008:: 133056199158104090 [({15ca44ff-4d7a-4baa-bba5-0998955e531e}, 32)]Event metadata not found; if you have the manifest, you may load it with the -man switch
[0]0004.0008:: 133056199158141778 [({a68ca8b7-004f-d7b6-a698-07e2de0f1f5d}, 20)]Event metadata not found; if you have the manifest, you may load it with the -man switch
[0]0004.006C:: 133056199291695877 [({2d9f3a42-01d4-4733-97f7-041e8021dc84}, 0)]Event metadata not found; if you have the manifest, you may load it with the -man switch
[0]0004.0008:: 133056199292264430 [({0bf2fb94-7b60-4b4d-9766-e82f658df540}, 3)]Event metadata not found; if you have the manifest, you may load it with the -man switch
[0]0004.0008:: 133056199295334661 [Microsoft-Windows-FilterManager//]File System Filter 'FileInfo' (10.0, ?1989?-?07?-?13T05:45:12.000000000Z) has successfully loaded and registered with Filter Manager.
[0]0004.0008:: 133056199295349590 [Microsoft-Windows-FilterManager//]File System Filter 'Wof' (10.0, ?2096?-?10?-?27T17:54:16.000000000Z) has successfully loaded and registered with Filter Manager.
[0]0004.0008:: 133056199295367098 [Microsoft-Windows-FilterManager//]File System Filter 'WdFilter' (10.0, ?2073?-?10?-?13T13:52:50.000000000Z) has successfully loaded and registered with Filter Manager.
[0]0004.0008:: 133056199295573114 [({3ff37a1c-a68d-4d6e-8c9b-f79e8b16c482}, 100)]Event metadata not found; if you have the manifest, you may load it with the -man switch
So unfortunately it seems like there is not much useful information in it, and i couldn’t find any useful information regarding the “Event metadata not found” error in the log by googling, only one OSR thread without any answer.
And disk!DiskAddDevice never gets called when i put a breakpoint on it (i put a bp on it with very early with the help of initial break cycle), although its DriverEntry does get called so at least it gets loaded.