-
Story
-
Resolution: Unresolved
-
Normal
-
None
-
None
-
rhel-virt-windows
-
None
-
False
-
False
-
-
None
-
None
-
Requested
-
virtio-win-prewhql-0.1-297
-
None
-
Unspecified
-
Unspecified
-
Unspecified
-
None
This fixes viostor to handle Device Configuration Interrupts more correctly.
In the case of `msix_has_config_vector == false`, the driver didn't even try to get the notification, but it disabled the config vector entirely. This is changed to share vector 0 between a queue and config updates. This is easy to reproduce: After resizing the disk (with `block_resize` in the QEMU monitor), the change would not be picked up by Windows if the disk had `vectors < num_queues + 1` until the device is disabled and reenabled. With the fixed driver, the new size is recognised and shown e.g. in Disk Management after hitting F5.
The fixes in `VirtIoInterrupt()` make the driver more compliant with the spec, but are more theoretical in nature.