[libvirt] [PATCH v3 0/4] Allow to make disk optional on migration
Daniel Veillard
veillard at redhat.com
Thu Oct 20 08:59:34 UTC 2011
On Wed, Oct 19, 2011 at 04:42:55PM +0200, Michal Privoznik wrote:
> This is a 3rd version of patches [1].
> Diff to v2 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 'on_missing' 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/msg00032.html
>
> Michal Privoznik (4):
> conf: Introduce optional on_missing attribute for cdrom and floppy
> util: Create virFileAccessibleAs function
> qemu: implement on_missing
> on_missing: Emit event on disk source dropping
>
> daemon/remote.c | 37 ++++++++++
> docs/formatdomain.html.in | 26 ++++++-
> docs/schemas/domaincommon.rng | 22 +++++-
> examples/domain-events/events-c/event-test.c | 27 +++++++-
> examples/domain-events/events-python/event-test.py | 4 +
> include/libvirt/libvirt.h.in | 28 +++++++
> python/libvirt-override-virConnect.py | 9 +++
> python/libvirt-override.c | 51 +++++++++++++
> src/conf/domain_conf.c | 43 ++++++++++-
> src/conf/domain_conf.h | 11 +++
> src/conf/domain_event.c | 50 +++++++++++++
> src/conf/domain_event.h | 7 ++
> src/libvirt_private.syms | 4 +
> src/qemu/qemu_domain.c | 73 +++++++++++++++++++
> src/qemu/qemu_domain.h | 4 +
> src/qemu/qemu_process.c | 4 +
> src/remote/remote_driver.c | 34 +++++++++
> src/remote/remote_protocol.x | 9 ++-
> src/remote_protocol-structs | 5 ++
> src/util/util.c | 76 ++++++++++++++++++++
> src/util/util.h | 3 +
> .../qemuxml2xmlout-disk-cdrom-empty.xml | 31 ++++++++
> 22 files changed, 548 insertions(+), 10 deletions(-)
> create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-disk-cdrom-empty.xml
ACK to the patch set, error "something is tragically wrong" in patch
3 is rather uninformative, I agree it should not occur, but still could
you merge in something a bit more contectual here before the push :-) ?
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel at veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
More information about the libvir-list
mailing list