libvirt/src/qemu
Peter Krempa 117ff49db7 qemu: snapshot: Introduce helpers for creating overlays on <transient/> disks
To implement <transient/> disks we'll need to install an overlay on top
of the original disk image which will be discarded after the VM is
turned off. This was initially implemented by qemu but libvirt never
picked up this option as the overlays were created by qemu without
libvirt involvment which didn't work with SELinux.

With blockdev the qemu feature became unsupported so we need to do this
via the snapshot code anyways.

The helpers introduced in this patch prepare a fake snapshot disk
definition for a disk which is configured as <transient/> and use it to
create a snapshot (without actually modifying metadata or persistent
def).

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Tested-by: Masayoshi Mizuma <m.mizuma@jp.fujitsu.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Tested-by: Ján Tomko <jtomko@redhat.com>
2020-10-01 09:55:02 +02:00
..
EVENTHANDLERS.txt
libvirt_qemu_probes.d
libvirtd_qemu.aug
meson.build qemu: Extract snapshot related code to a separate file 2020-08-24 16:42:29 +02:00
MIGRATION.txt
qemu_agent.c qemu: agent: set ifname to NULL after freeing 2020-09-30 11:42:28 +02:00
qemu_agent.h
qemu_alias.c
qemu_alias.h
qemu_backup.c qemu: backup: Write TLS cert and secret object aliases into status XML 2020-09-15 15:25:22 +02:00
qemu_backup.h
qemu_block.c qemuBlockStorageSourceAttachData: remove 'storageNodeNameCopy' 2020-09-15 15:20:23 +02:00
qemu_block.h qemuBlockStorageSourceAttachData: remove 'storageNodeNameCopy' 2020-09-15 15:20:23 +02:00
qemu_blockjob.c
qemu_blockjob.h
qemu_capabilities.c qemu: Check for changes in qemu modules directory 2020-09-01 14:22:24 -06:00
qemu_capabilities.h
qemu_capspriv.h
qemu_cgroup.c
qemu_cgroup.h
qemu_checkpoint.c
qemu_checkpoint.h
qemu_command.c conf: add 'isa' controller type 2020-09-21 20:01:12 +04:00
qemu_command.h src: add G_GNUC_NO_INLINE annotations for mocked symbols 2020-08-04 17:58:08 +01:00
qemu_conf.c qemu: Separate out namespace handling code 2020-08-03 19:32:27 +02:00
qemu_conf.h lib: Prefer g_autoptr() declaration of virQEMUDriverConfigPtr 2020-09-07 10:47:54 +02:00
qemu_dbus.c
qemu_dbus.h
qemu_domain_address.c conf: add 'isa' controller type 2020-09-21 20:01:12 +04:00
qemu_domain_address.h
qemu_domain.c qemu: prepare cleanup for <transient/> disk overlays 2020-10-01 09:55:02 +02:00
qemu_domain.h qemu: prepare cleanup for <transient/> disk overlays 2020-10-01 09:55:02 +02:00
qemu_domainjob.c qemuProcessReconnect: clear 'oldjob' 2020-09-14 18:10:56 +02:00
qemu_domainjob.h qemuProcessReconnect: clear 'oldjob' 2020-09-14 18:10:56 +02:00
qemu_driver.c rpc: require write acl for guest agent in virDomainInterfaceAddresses 2020-09-30 11:42:28 +02:00
qemu_driver.h
qemu_extdevice.c
qemu_extdevice.h
qemu_firmware.c qemu: firmware: check virJSONValueObjectGet return value 2020-09-23 13:26:34 +02:00
qemu_firmware.h
qemu_hostdev.c lib: Prefer g_autoptr() declaration of virQEMUDriverConfigPtr 2020-09-07 10:47:54 +02:00
qemu_hostdev.h
qemu_hotplug.c qemu: revert latest pSeries NVDIMM design changes 2020-09-22 12:25:34 +02:00
qemu_hotplug.h src: add G_GNUC_NO_INLINE annotations for mocked symbols 2020-08-04 17:58:08 +01:00
qemu_interface.c lib: Prefer g_autoptr() declaration of virQEMUDriverConfigPtr 2020-09-07 10:47:54 +02:00
qemu_interface.h src: add G_GNUC_NO_INLINE annotations for mocked symbols 2020-08-04 17:58:08 +01:00
qemu_interop_config.c
qemu_interop_config.h
qemu_migration_cookie.c lib: Prefer g_autoptr() declaration of virQEMUDriverConfigPtr 2020-09-07 10:47:54 +02:00
qemu_migration_cookie.h
qemu_migration_params.c qemu: Allow migration over UNIX socket 2020-09-05 07:55:45 +02:00
qemu_migration_params.h qemu: Allow migration over UNIX socket 2020-09-05 07:55:45 +02:00
qemu_migration_paramspriv.h
qemu_migration.c virStorageSourceNew: Abort on failure 2020-09-23 22:37:56 +02:00
qemu_migration.h qemu: Allow NBD migration over UNIX socket 2020-09-04 10:20:49 +02:00
qemu_monitor_json.c qemu: monitor: Detect image cluster size from 'query-named-block-nodes' 2020-09-08 08:48:53 +02:00
qemu_monitor_json.h src: add G_GNUC_NO_INLINE annotations for mocked symbols 2020-08-04 17:58:08 +01:00
qemu_monitor_priv.h
qemu_monitor_text.c
qemu_monitor_text.h
qemu_monitor.c qemu: Allow migration over UNIX socket 2020-09-05 07:55:45 +02:00
qemu_monitor.h qemu: monitor: Detect image cluster size from 'query-named-block-nodes' 2020-09-08 08:48:53 +02:00
qemu_namespace.c qemu_namespace: Don't leak mknod items that are being skipped over 2020-09-07 16:27:25 +02:00
qemu_namespace.h qemuDomainBuildNamespace: Populate basic /dev from daemon's namespace 2020-08-03 19:40:36 +02:00
qemu_process.c qemu: prepare cleanup for <transient/> disk overlays 2020-10-01 09:55:02 +02:00
qemu_process.h src: add G_GNUC_NO_INLINE annotations for mocked symbols 2020-08-04 17:58:08 +01:00
qemu_processpriv.h
qemu_qapi.c
qemu_qapi.h
qemu_saveimage.c qemu: Split of code related to handling of the save image file 2020-08-24 16:42:00 +02:00
qemu_saveimage.h qemu: Split of code related to handling of the save image file 2020-08-24 16:42:00 +02:00
qemu_security.c qemu: Separate out namespace handling code 2020-08-03 19:32:27 +02:00
qemu_security.h
qemu_shim.c qemu: remove use of gettid() syscall 2020-08-07 13:51:16 +01:00
qemu_slirp.c
qemu_slirp.h
qemu_snapshot.c qemu: snapshot: Introduce helpers for creating overlays on <transient/> disks 2020-10-01 09:55:02 +02:00
qemu_snapshot.h qemu: snapshot: Introduce helpers for creating overlays on <transient/> disks 2020-10-01 09:55:02 +02:00
qemu_tpm.c
qemu_tpm.h
qemu_validate.c qemu: revert latest pSeries NVDIMM design changes 2020-09-22 12:25:34 +02:00
qemu_validate.h
qemu_vhost_user_gpu.c
qemu_vhost_user_gpu.h
qemu_vhost_user.c
qemu_vhost_user.h
qemu_virtiofs.c
qemu_virtiofs.h qemu: use the vhost-user schemas to find binary 2020-03-04 12:08:50 +01:00
qemu.conf
test_libvirtd_qemu.aug.in
THREADS.txt
virtqemud.init.in
virtqemud.service.in
virtqemud.sysconf