[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
[libvirt] Patch to enable transient disks in libvirt for qemu
- From: Richard Harman <libvir-list richardharman com>
- To: libvir-list redhat com
- Subject: [libvirt] Patch to enable transient disks in libvirt for qemu
- Date: Sat, 14 May 2016 09:10:12 -0400
I'm not a C coder, but hey I managed to get transient disks working. I
think there was some discussion years ago on the list about having
libvirt/qemu dump the transient disk image into a default random temp
directory wasn't the Right Way To Do Things, and I think interest
evaporated.
Anyway, have a patch.
diff -urN libvirt-1.2.18.2/src/qemu/qemu_command.c libvirt-1.2.18.2-patched/src/qemu/qemu_command.c
--- libvirt-1.2.18.2/src/qemu/qemu_command.c 2015-12-23 18:21:41.000000000 -0500
+++ libvirt-1.2.18.2-patched/src/qemu/qemu_command.c 2016-05-06 17:26:55.033133087 -0400
@@ -3756,9 +3756,7 @@
virBufferAddLit(&opt, ",readonly=on");
}
if (disk->transient) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
- _("transient disks not supported yet"));
- goto error;
+ virBufferAddLit(&opt, ",snapshot=on");
}
if (disk->src->format > 0 &&
disk->src->type != VIR_STORAGE_TYPE_DIR &&
@@ -9839,13 +9837,20 @@
optstr = qemuBuildDriveStr(conn, disk,
emitBootindex ? false : !!bootindex,
qemuCaps);
+
if (deviceFlagMasked)
virQEMUCapsSet(qemuCaps, QEMU_CAPS_DEVICE);
+
if (!optstr)
goto error;
+
virCommandAddArg(cmd, optstr);
VIR_FREE(optstr);
+ if (disk->transient) {
+ virCommandAddArg(cmd, "-snapshot");
+ }
+
if (!emitBootindex)
bootindex = 0;
else if (disk->info.bootIndex)
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]