This is just an proof of concept of what has been agreed on here:
https://www.redhat.com/archives/libvir-list/2016-November/msg00285.html
There is still a lot of to be done:
- set up seclabels
- implement hot(un-)plug
- implement other devices, not just disks
I'm sending these in a hope that somebody will at least take a quick look. I'm
not looking for a code cleanliness (but if you find some issues feel free to
raise them), more than design confirmation. If I'm going in wrong direction I'd
rather stop now before digging any deeper.
Michal Privoznik (7):
virprocess: Introduce virProcessSetupPrivateNS
virfile: Introduce virFilePopulateDevices
virfile: Introduce virFileSetupDev
virfile: Introduce virFileSetupDevPTS
virfile: Introduce virFileBindMountDevice
qemu: Spawn qemu under mount namespace
qemu: Prepare disks when starting a domain
src/libvirt_private.syms | 5 +
src/lxc/lxc_container.c | 20 +---
src/lxc/lxc_controller.c | 82 +++----------
src/qemu/qemu_domain.c | 306 +++++++++++++++++++++++++++++++++++++++++++++++
src/qemu/qemu_domain.h | 12 ++
src/qemu/qemu_process.c | 13 ++
src/util/virfile.c | 116 ++++++++++++++++++
src/util/virfile.h | 21 ++++
src/util/virprocess.c | 24 ++++
src/util/virprocess.h | 2 +
10 files changed, 517 insertions(+), 84 deletions(-)
--
2.8.4