The major problem was with symlinks. Imagine the following chain of symlinks:
/dev/my_awesome_disk -> /home/user/blaah -> /dev/disk/by-uuid/$uuid -> /dev/sda
We really need to create all those /dev/* symlinks and /dev/sda device. Also,
some other (less critical) bugs are fixed.
Michal Privoznik (10):
virProcessRunInMountNamespace: Report errors from child
util: Introduce virFileReadLink
qemuDomainPrepareDisk: Fix ordering
qemuSecurityRestoreAllLabel: Don't use transactions
qemu_security: Use more transactions
qemuDomain{Attach,Detach}Device NS helpers: Don't relabel devices
qemuDomainCreateDevice: Properly deal with symlinks
qemuDomainCreateDevice: Don't loop endlessly
qemuDomainAttachDeviceMknod: Deal with symlinks
qemuDomainAttachDeviceMknod: Don't loop endlessly
src/libvirt_private.syms | 1 +
src/qemu/qemu_domain.c | 438 +++++++++++++++++++++++++++--------------------
src/qemu/qemu_hotplug.c | 20 +--
src/qemu/qemu_security.c | 137 +++++++++------
src/util/virfile.c | 12 ++
src/util/virfile.h | 2 +
src/util/virprocess.c | 8 +-
7 files changed, 374 insertions(+), 244 deletions(-)
--
2.11.0