Able to reproduce this issue by issuing soft reboot in Horizon and immediately detaching a volume using "nova detach". On the Cinder side, the volume gets detached from the instance and is no longer "in-use".
However, the VM still has the mapping to the device on "/dev/vdb" and trying to write to the device results in a "write error: No space on disk". Also, libvirt still has this device mapping in "libvirt.driver._get_all_block_devices()".
Able to reproduce this issue by issuing soft reboot in Horizon and immediately detaching a volume using "nova detach". On the Cinder side, the volume gets detached from the instance and is no longer "in-use".
However, the VM still has the mapping to the device on "/dev/vdb" and trying to write to the device results in a "write error: No space on disk". Also, libvirt still has this device mapping in "libvirt. driver. _get_all_ block_devices( )".