]> git.ipfire.org Git - thirdparty/libvirt.git/commit
qemuDomainAttachDeviceMknodHelper: Remove symlink before creating it
authorMichal Privoznik <mprivozn@redhat.com>
Thu, 4 Jan 2018 10:11:53 +0000 (11:11 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Mon, 8 Jan 2018 08:53:48 +0000 (09:53 +0100)
commitdb98e7f67ea0d7699410f514f01947cef5128a6c
treea03d48d25978d0e4cd736b203c473a4d0baa2734
parent2b041dc8c7b70e762d99b6bd7805daa9961740f6
qemuDomainAttachDeviceMknodHelper: Remove symlink before creating it

https://bugzilla.redhat.com/show_bug.cgi?id=1528502

So imagine you have /dev/blah symlink which points to /dev/sda.
You attach /dev/blah as disk to your domain. Libvirt correctly
creates the /dev/blah -> /dev/sda symlink in the qemu namespace.
However, then you detach the disk, change the symlink so that it
points to /dev/sdb and tries to attach the disk again. This time,
however, the attach fails (well, qemu attaches wrong disk)
because the code assumes that symlinks don't change. Well they
do.

This is inspired by test fix written by Eduardo Habkost.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
src/qemu/qemu_domain.c