]> xenbits.xensource.com Git - pvdrivers/win/xenbus.git/commit
Add emulated NVMe to IsDiskPresent results
authorOwen Smith <owen.smith@citrix.com>
Mon, 28 Jun 2021 12:58:39 +0000 (13:58 +0100)
committerPaul Durrant <pdurrant@amazon.com>
Wed, 30 Jun 2021 16:59:55 +0000 (17:59 +0100)
commit7fa9c096eac8a3d612a1c8bb3aa534c31c49ce70
treebaf4ee85c0a8b3cf4fb3f651ae239d174354d519
parent37dd526c06016a3a7004cb4c677363355755b5ae
Add emulated NVMe to IsDiskPresent results

IsDiskPresent currently only reports the presence of emulated IDE disks. When
using emulated NVMe disks, its possible to start booting off the emulated disk,
but have XenVbd 'take over' resulting in storage requests to the emulated NVMe
disk timing out and failing. This results in a Windows error on boot
"Status 0xc000000e. A required device isnt connected or can't be accessed"

Query the CompatibleIDs and, if present, add the last CompatibleID to emulated
objects of type PCI. When querying if a disk is preset, also check for PCI
devices which match the CompatibleID "PCI\CC_0108". This will prevent XenVbd
enumerating a PV disk which is has a matching emulated NVMe device.

Signed-off-by: Owen Smith <owen.smith@citrix.com>
src/xenfilt/emulated.c
src/xenfilt/emulated.h
src/xenfilt/pdo.c