[libvirt] [PATCH v4 0/5] Allow to make disk optional on migration
Michal Privoznik
mprivozn at redhat.com
Tue Oct 25 07:58:24 UTC 2011
On 20.10.2011 16:52, Michal Privoznik wrote:
> This is a 4rd version of patches [1].
> Diff to v3 includes Daniel's review and some other improvements.
>
> The aim of these patches is to mark CDROM and floppy optional,
> thus they might get dropped during migration, domain startup,
> restore, etc. The granularity is set on disk level, so user
> can decide which cd-roms are important and which not.
>
> There are 3 levels of optionality:
> - mandatory - fail if missing for any reason (the default)
> - requisite - fail if missing on boot up, drop if missing on
> migrate/restore/revert
> - optional - drop if missing at any start attempt.
>
> To assign a disk one of these, just append 'startupPolicy' attribute
> to its <source>.
>
> If a domain is then eventually started (migrated, restored, whatever),
> we check for source path being accessible (currently only qemu driver
> is supported) from hypervisor's POV. This is done by virFileAccessibleAs()
> function. Currently, only uid+gid are considered. Ideally, this
> should be extended to SElinux labeling and cgroups.
>
> 1: https://www.redhat.com/archives/libvir-list/2011-October/msg00896.html
>
>
> Michal Privoznik (5):
> conf: Introduce optional startupPolicy attribute for cdrom and floppy
> util: Create virFileAccessibleAs function
> qemu: Move device alias assigning before command line construction
> qemu: implement startupPolicy
> on_missing: Emit event on disk source dropping
>
> daemon/remote.c | 39 ++++++++++
> docs/formatdomain.html.in | 26 ++++++-
> docs/schemas/domaincommon.rng | 22 +++++-
> examples/domain-events/events-c/event-test.c | 28 +++++++-
> examples/domain-events/events-python/event-test.py | 4 +
> include/libvirt/libvirt.h.in | 29 +++++++
> python/libvirt-override-virConnect.py | 9 ++
> python/libvirt-override.c | 52 +++++++++++++
> src/conf/domain_conf.c | 43 ++++++++++-
> src/conf/domain_conf.h | 11 +++
> src/conf/domain_event.c | 61 +++++++++++++++
> src/conf/domain_event.h | 9 ++
> src/libvirt_private.syms | 4 +
> src/qemu/qemu_command.c | 5 +-
> src/qemu/qemu_command.h | 1 +
> src/qemu/qemu_domain.c | 73 ++++++++++++++++++
> src/qemu/qemu_domain.h | 4 +
> src/qemu/qemu_driver.c | 3 +
> src/qemu/qemu_process.c | 7 ++
> src/remote/remote_driver.c | 35 +++++++++
> src/remote/remote_protocol.x | 10 ++-
> src/remote_protocol-structs | 6 ++
> src/util/util.c | 78 ++++++++++++++++++++
> src/util/util.h | 3 +
> tests/qemuxml2argvtest.c | 3 +
> .../qemuxml2xmlout-disk-cdrom-empty.xml | 31 ++++++++
> tests/qemuxmlnstest.c | 3 +
> 27 files changed, 585 insertions(+), 14 deletions(-)
> create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-cdrom-empty.xml
>
Thanks, pushed.
More information about the libvir-list
mailing list