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:
https://libvirt.org/html/libvirt-libvirt-domain.html#virDomainDetachDevice
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