Hello,
I experienced an issue with the virDomainDetachDevice call from the C lib or Virsh CLI.
When I execute two concurrent call in parallel with virDomainDetachDevice, nothing happens
the device is not detached, no log error in Journald or /var/log/libvirt/qemu/domain-name.log.
If I execute the two call synchronously or only one call, the device is always detached with no issue.
It seems there is a bug here, a concurrency issue/race condition...etc?
Nothing in the doc mention such a behaviour:
Environment:
virsh --version: 8.0.0
Libvirt version: libvirtd (libvirt) 8.0.0
Linux hostname 5.15.0-69-generic #76-Ubuntu SMP Fri Mar 17 17:19:29 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Step to reproduce the issue:
With a running domain (22.04.2 LTS)
I'm attaching this device via NBD protocol with the following XML definition vdb.xml:
<disk device='disk' type='network'>
<driver name='qemu' type='raw' cache='none' />
<source protocol='nbd' name='66f85e15-4ea4-428e-a63e-001f41094d7d' reconnectDelay='10'>
<host transport='unix' socket='/var/run/qemu/nbdserver.sock'/>
</source>
<target dev='vdb' bus='virtio'/>
</disk>
bash $ virsh attach-device <domain> vdb.xml
the device is successfully attached.
bash $ virsh detach-device <domain> vdb.xml & virsh detach-device <domain>vdb.xml &
[7] 1780612
[8] 1780613
[7]+ Stopped virsh detach-device domain vdb.xml
[8]- Stopped virsh detach-device domain vdb.xml
vdb device is not detached, nothing happen, nor error log...etc.
Thank you for this great project,
Best regards, Pierre-Emmanuel.
PS: Your website TLS certificate expires yesterday:
Sunday, 11 June 2023 at 19:35:27