Skip to content

[viostor] Regression in c09af90 - SRB Extension IDs get clobbered #1466

@benyamin-codez

Description

@benyamin-codez

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.

Screenshots
Image

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions