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. -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list