-
Notifications
You must be signed in to change notification settings - Fork 440
Description
Describe the bug
SRB Extension IDs are assigned from a shared resource but a race condition can occur where one ID can be assigned to more than one virtqueue or SRB and then be prematurely completed.
To Reproduce
With fio as per issue #1453 [vioscsi]. The verify feature is used to write per block checksums into the test file. When the block is read, the checksum is calculated and compared to the recorded value. Failure results in a reading thread being dropped. In practice, with host applications, this results in retries and timeouts.
Expected behaviour
For SRB Extension IDs to not be assigned to more than one virtqueue or SRB at any given time.
Host:
Proxmox 9+
Likely libvirt on Ubuntu 25.10 too - and others...
VM:
Win10 build 1809 to Win11 build 26200+
All drivers with commit c09af90
Additional context
A PR has been developed and tested.
