Hey guys,

I am currently running into a reproducible libvirt bug when I detach a disk from a running VM using libvirt 1.2.18 and qemu 2.3.0.

I can attach a disk to a running VM without any problems.
During the attach operation I don't create a disk alias name, which results in libvirt generating an unique alias.
Using virsh dumpxml I get the following output(snippet):

<disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/var/local/mnt/test-storage/test-storage.raw'/>
      <backingStore/>
      <target dev='vde' bus='virtio'/>
      <iotune>
        <read_bytes_sec>94371840</read_bytes_sec>
        <write_bytes_sec>31457280</write_bytes_sec>
        <read_iops_sec>1000</read_iops_sec>
        <write_iops_sec>200</write_iops_sec>
      </iotune>
      <alias name='virtio-disk4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
</disk>

As you can see, libvirt generates 'virtio-disk4' as an alias. But as soon as I try to detach the disk from the running VM, I will receive the following two errors in my libvirt log:

2015-08-06 10:48:59.943+0000: 11657: warning : qemuMonitorJSONHandleDeviceDeleted:939 : missing device in device deleted event
2015-08-06 10:48:59.945+0000: 11662: error : qemuMonitorTextDriveDel:2594 : operation failed: deleting drive-virtio-disk4 drive failed: 2015-08-06T10:48:59.945058Z Device 'drive-virtio-disk4' not found

Apparently libvirt tries to detach the disk with a drive- prefix, which doesn't exist? The drive seems to detach correctly though.

I hope somebody with more extensive knowledge about libvirt can help me solve this issue. If more information is needed, feel free to contact me.

Thanks,
Frank