v4 wasn't reviewed, but recent patches caused pretty serious conflicts thus I'm posting a rebased version. Note that one of the patches was already pushed as a part of a different series. This series is also a preparation for fixing issue with libvirt not setting correct permissions on gluster volumes. Peter Krempa (28): storage: Implement virStorageFileCreate for local and gluster files qemu: Don't propagate whole disk definition into qemuDomainGetImageIds qemu: Add helper to initialize storage file backend with correct uid/gid storage: file: Tolerate NULL src when uninitializing the backend conf: Don't output seclabels for backingStore elements storage: Move readonly and shared flags to disk source from disk def util: storagefile: Add deep copy for struct virStorageSource util: storage: Add function to transfer config parts to new chain element util: storage: Copy parent's disk metadata to backing chain elements util: cgroup: Add helper to convert device mode to string qemu: cgroup: Add functions to set cgroup image stuff on individual imgs qemu: cgroup: Setup only the top level disk image for read-write access locking: Add APIs to lock individual image files security: Introduce APIs to label single images security: selinux: Implement per-image seclabel restore security: selinux: Implement per-image seclabel set security: DAC: Implement per-image seclabel restore security: DAC: Implement per-image seclabel set security: AppArmor: Implement per-image seclabel restore security: AppArmor: Implement per-image seclabel set util: storage: Make virStorageFileChainLookup more network storage aware util: storage: Return complete parent info from virStorageFileChainLookup qemu: blockcopy: Use the mirror disk source to label the files qemu: block: Properly track disk source while pivotting to new image qemu: snapshot: Improve approach to deal with snapshot metadata qemu: Refactor qemuDomainPrepareDiskChainElement qemu: snapshot: Refactor image labelling of new snapshot files qemu: snapshot: Use storage driver to pre-create snapshot file src/conf/domain_conf.c | 77 +++++--- src/conf/domain_conf.h | 2 - src/libvirt_private.syms | 7 + src/libxl/libxl_conf.c | 2 +- src/locking/domain_lock.c | 65 ++++--- src/locking/domain_lock.h | 8 + src/lxc/lxc_cgroup.c | 2 +- src/lxc/lxc_controller.c | 2 +- src/lxc/lxc_driver.c | 2 +- src/qemu/qemu_cgroup.c | 109 ++++++----- src/qemu/qemu_cgroup.h | 3 + src/qemu/qemu_command.c | 14 +- src/qemu/qemu_conf.c | 4 +- src/qemu/qemu_domain.c | 29 ++- src/qemu/qemu_domain.h | 4 + src/qemu/qemu_driver.c | 350 +++++++++++----------------------- src/qemu/qemu_migration.c | 16 +- src/security/security_apparmor.c | 55 ++++-- src/security/security_dac.c | 111 +++++------ src/security/security_driver.h | 10 + src/security/security_manager.c | 56 ++++++ src/security/security_manager.h | 7 + src/security/security_nop.c | 19 ++ src/security/security_selinux.c | 150 +++++++++------ src/security/security_stack.c | 38 ++++ src/security/virt-aa-helper.c | 2 +- src/storage/storage_backend_fs.c | 17 ++ src/storage/storage_backend_gluster.c | 28 +++ src/storage/storage_driver.c | 2 +- src/util/vircgroup.c | 62 ++++-- src/util/vircgroup.h | 2 + src/util/virstoragefile.c | 280 ++++++++++++++++++++++++--- src/util/virstoragefile.h | 14 +- src/vbox/vbox_tmpl.c | 30 +-- src/xenxs/xen_sxpr.c | 10 +- src/xenxs/xen_xm.c | 10 +- tests/virstoragetest.c | 86 ++++----- 37 files changed, 1075 insertions(+), 610 deletions(-) -- 1.9.3 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list