Fix attaching ISO from cifs filesystem (bz #1012085)
Fix crash with libxl driver and vcpu affinity (bz #1013045) Fix managed save 'unexpected migration status' failure (bz #1015636) Fix qemu deprecation warning in logs with tick options (bz #978719)remotes/origin/f20
parent
ade916a77e
commit
d00ec4ee6a
|
@ -0,0 +1,81 @@
|
||||||
|
From 894b3a9e2fb467373f5311f4d6716cdae870a031 Mon Sep 17 00:00:00 2001
|
||||||
|
Message-Id: <894b3a9e2fb467373f5311f4d6716cdae870a031.1384729580.git.crobinso@redhat.com>
|
||||||
|
From: Laine Stump <laine@laine.org>
|
||||||
|
Date: Thu, 26 Sep 2013 05:40:17 -0400
|
||||||
|
Subject: [PATCH 2/4] util: recognize SMB/CIFS filesystems as shared
|
||||||
|
|
||||||
|
This should resolve:
|
||||||
|
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=1012085
|
||||||
|
|
||||||
|
libvirt previously recognized NFS, GFS2, OCFS2, and AFS filesystems as
|
||||||
|
"shared", and thus eligible for exceptions to certain rules/actions
|
||||||
|
about chowning image files before handing them off to a guest. This
|
||||||
|
patch widens the definition of "shared filesystem" to include SMB and
|
||||||
|
CIFS filesystems (aka "Windows file sharing"); both of these use the
|
||||||
|
same protocol, but different drivers so there are different magic
|
||||||
|
numbers for each.
|
||||||
|
|
||||||
|
(cherry picked from commit e4e73337e5a5aa708bb356751404ab8ae6583f42)
|
||||||
|
---
|
||||||
|
src/util/virstoragefile.c | 16 +++++++++++++++-
|
||||||
|
src/util/virstoragefile.h | 2 ++
|
||||||
|
2 files changed, 17 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c
|
||||||
|
index 9453599..1b4d4cf 100644
|
||||||
|
--- a/src/util/virstoragefile.c
|
||||||
|
+++ b/src/util/virstoragefile.c
|
||||||
|
@@ -1241,6 +1241,12 @@ cleanup:
|
||||||
|
# ifndef AFS_FS_MAGIC
|
||||||
|
# define AFS_FS_MAGIC 0x6B414653
|
||||||
|
# endif
|
||||||
|
+# ifndef SMB_SUPER_MAGIC
|
||||||
|
+# define SMB_SUPER_MAGIC 0x517B
|
||||||
|
+# endif
|
||||||
|
+# ifndef CIFS_SUPER_MAGIC
|
||||||
|
+# define CIFS_SUPER_MAGIC 0xFF534D42
|
||||||
|
+# endif
|
||||||
|
|
||||||
|
|
||||||
|
int virStorageFileIsSharedFSType(const char *path,
|
||||||
|
@@ -1304,6 +1310,12 @@ int virStorageFileIsSharedFSType(const char *path,
|
||||||
|
if ((fstypes & VIR_STORAGE_FILE_SHFS_AFS) &&
|
||||||
|
(sb.f_type == AFS_FS_MAGIC))
|
||||||
|
return 1;
|
||||||
|
+ if ((fstypes & VIR_STORAGE_FILE_SHFS_SMB) &&
|
||||||
|
+ (sb.f_type == SMB_SUPER_MAGIC))
|
||||||
|
+ return 1;
|
||||||
|
+ if ((fstypes & VIR_STORAGE_FILE_SHFS_CIFS) &&
|
||||||
|
+ (sb.f_type == CIFS_SUPER_MAGIC))
|
||||||
|
+ return 1;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
@@ -1322,7 +1334,9 @@ int virStorageFileIsSharedFS(const char *path)
|
||||||
|
VIR_STORAGE_FILE_SHFS_NFS |
|
||||||
|
VIR_STORAGE_FILE_SHFS_GFS2 |
|
||||||
|
VIR_STORAGE_FILE_SHFS_OCFS |
|
||||||
|
- VIR_STORAGE_FILE_SHFS_AFS);
|
||||||
|
+ VIR_STORAGE_FILE_SHFS_AFS |
|
||||||
|
+ VIR_STORAGE_FILE_SHFS_SMB |
|
||||||
|
+ VIR_STORAGE_FILE_SHFS_CIFS);
|
||||||
|
}
|
||||||
|
|
||||||
|
int virStorageFileIsClusterFS(const char *path)
|
||||||
|
diff --git a/src/util/virstoragefile.h b/src/util/virstoragefile.h
|
||||||
|
index 1f89839..d5effa4 100644
|
||||||
|
--- a/src/util/virstoragefile.h
|
||||||
|
+++ b/src/util/virstoragefile.h
|
||||||
|
@@ -112,6 +112,8 @@ enum {
|
||||||
|
VIR_STORAGE_FILE_SHFS_GFS2 = (1 << 1),
|
||||||
|
VIR_STORAGE_FILE_SHFS_OCFS = (1 << 2),
|
||||||
|
VIR_STORAGE_FILE_SHFS_AFS = (1 << 3),
|
||||||
|
+ VIR_STORAGE_FILE_SHFS_SMB = (1 << 4),
|
||||||
|
+ VIR_STORAGE_FILE_SHFS_CIFS = (1 << 5),
|
||||||
|
};
|
||||||
|
|
||||||
|
int virStorageFileIsSharedFS(const char *path);
|
||||||
|
--
|
||||||
|
1.8.4.2
|
||||||
|
|
|
@ -0,0 +1,51 @@
|
||||||
|
From c004f937a1c6a60cc9a714b2563add57b5b439f2 Mon Sep 17 00:00:00 2001
|
||||||
|
Message-Id: <c004f937a1c6a60cc9a714b2563add57b5b439f2.1384729580.git.crobinso@redhat.com>
|
||||||
|
In-Reply-To: <894b3a9e2fb467373f5311f4d6716cdae870a031.1384729580.git.crobinso@redhat.com>
|
||||||
|
References: <894b3a9e2fb467373f5311f4d6716cdae870a031.1384729580.git.crobinso@redhat.com>
|
||||||
|
From: Jeremy Fitzhardinge <jeremy@goop.org>
|
||||||
|
Date: Wed, 30 Oct 2013 10:38:08 -0700
|
||||||
|
Subject: [PATCH 3/4] libxl: fix dubious cpumask handling in
|
||||||
|
libxlDomainSetVcpuAffinities
|
||||||
|
|
||||||
|
Rather than casting the virBitmap pointer to uint8_t* and then using
|
||||||
|
the structure contents as a byte array, use the virBitmap API to determine
|
||||||
|
the bitmap size and test each bit.
|
||||||
|
|
||||||
|
Signed-off-by: Jeremy Fitzhardinge <jeremy@goop.org>
|
||||||
|
(cherry picked from commit ba1bf10063a0205c1de12b209b0282833710214f)
|
||||||
|
---
|
||||||
|
src/libxl/libxl_driver.c | 10 ++++++----
|
||||||
|
1 file changed, 6 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
|
||||||
|
index e2a6d44..45e09a8 100644
|
||||||
|
--- a/src/libxl/libxl_driver.c
|
||||||
|
+++ b/src/libxl/libxl_driver.c
|
||||||
|
@@ -448,7 +448,7 @@ libxlDomainSetVcpuAffinities(libxlDriverPrivatePtr driver, virDomainObjPtr vm)
|
||||||
|
libxlDomainObjPrivatePtr priv = vm->privateData;
|
||||||
|
virDomainDefPtr def = vm->def;
|
||||||
|
libxl_bitmap map;
|
||||||
|
- uint8_t *cpumask = NULL;
|
||||||
|
+ virBitmapPtr cpumask = NULL;
|
||||||
|
uint8_t *cpumap = NULL;
|
||||||
|
virNodeInfo nodeinfo;
|
||||||
|
size_t cpumaplen;
|
||||||
|
@@ -468,10 +468,12 @@ libxlDomainSetVcpuAffinities(libxlDriverPrivatePtr driver, virDomainObjPtr vm)
|
||||||
|
if (VIR_ALLOC_N(cpumap, cpumaplen) < 0)
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
|
- cpumask = (uint8_t*) def->cputune.vcpupin[vcpu]->cpumask;
|
||||||
|
+ cpumask = def->cputune.vcpupin[vcpu]->cpumask;
|
||||||
|
|
||||||
|
- for (i = 0; i < VIR_DOMAIN_CPUMASK_LEN; ++i) {
|
||||||
|
- if (cpumask[i])
|
||||||
|
+ for (i = 0; i < virBitmapSize(cpumask); ++i) {
|
||||||
|
+ bool bit;
|
||||||
|
+ ignore_value(virBitmapGetBit(cpumask, i, &bit));
|
||||||
|
+ if (bit)
|
||||||
|
VIR_USE_CPU(cpumap, i);
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
1.8.4.2
|
||||||
|
|
|
@ -0,0 +1,65 @@
|
||||||
|
From 1587f15f6de9c7ee98016ce5b5d74662640740bb Mon Sep 17 00:00:00 2001
|
||||||
|
Message-Id: <1587f15f6de9c7ee98016ce5b5d74662640740bb.1384729580.git.crobinso@redhat.com>
|
||||||
|
In-Reply-To: <894b3a9e2fb467373f5311f4d6716cdae870a031.1384729580.git.crobinso@redhat.com>
|
||||||
|
References: <894b3a9e2fb467373f5311f4d6716cdae870a031.1384729580.git.crobinso@redhat.com>
|
||||||
|
From: Michael Avdienko <whitearchey@gmail.com>
|
||||||
|
Date: Fri, 15 Nov 2013 20:47:43 +0900
|
||||||
|
Subject: [PATCH 4/4] Fix migration with QEMU 1.6
|
||||||
|
|
||||||
|
QEMU 1.6.0 introduced new migration status: setup
|
||||||
|
Libvirt does not expect such string in QMP and refuses to migrate with error
|
||||||
|
"unexpected migration status in setup"
|
||||||
|
|
||||||
|
This patch fixes it.
|
||||||
|
|
||||||
|
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
|
||||||
|
(cherry picked from commit d35ae4143d11f45856ae002fcd419da0eb9bba9f)
|
||||||
|
---
|
||||||
|
src/qemu/qemu_migration.c | 4 ++++
|
||||||
|
src/qemu/qemu_monitor.c | 2 +-
|
||||||
|
src/qemu/qemu_monitor.h | 1 +
|
||||||
|
3 files changed, 6 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
|
||||||
|
index 04313e7..c0b17c3 100644
|
||||||
|
--- a/src/qemu/qemu_migration.c
|
||||||
|
+++ b/src/qemu/qemu_migration.c
|
||||||
|
@@ -1650,6 +1650,10 @@ qemuMigrationUpdateJobStatus(virQEMUDriverPtr driver,
|
||||||
|
_("%s: %s"), job, _("is not active"));
|
||||||
|
break;
|
||||||
|
|
||||||
|
+ case QEMU_MONITOR_MIGRATION_STATUS_SETUP:
|
||||||
|
+ ret = 0;
|
||||||
|
+ break;
|
||||||
|
+
|
||||||
|
case QEMU_MONITOR_MIGRATION_STATUS_ACTIVE:
|
||||||
|
priv->job.info.fileTotal = priv->job.status.disk_total;
|
||||||
|
priv->job.info.fileRemaining = priv->job.status.disk_remaining;
|
||||||
|
diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
|
||||||
|
index a601ee0..7e26377 100644
|
||||||
|
--- a/src/qemu/qemu_monitor.c
|
||||||
|
+++ b/src/qemu/qemu_monitor.c
|
||||||
|
@@ -114,7 +114,7 @@ VIR_ONCE_GLOBAL_INIT(qemuMonitor)
|
||||||
|
|
||||||
|
VIR_ENUM_IMPL(qemuMonitorMigrationStatus,
|
||||||
|
QEMU_MONITOR_MIGRATION_STATUS_LAST,
|
||||||
|
- "inactive", "active", "completed", "failed", "cancelled")
|
||||||
|
+ "inactive", "active", "completed", "failed", "cancelled", "setup")
|
||||||
|
|
||||||
|
VIR_ENUM_IMPL(qemuMonitorMigrationCaps,
|
||||||
|
QEMU_MONITOR_MIGRATION_CAPS_LAST,
|
||||||
|
diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h
|
||||||
|
index 06ba7e8..8ec721b 100644
|
||||||
|
--- a/src/qemu/qemu_monitor.h
|
||||||
|
+++ b/src/qemu/qemu_monitor.h
|
||||||
|
@@ -396,6 +396,7 @@ enum {
|
||||||
|
QEMU_MONITOR_MIGRATION_STATUS_COMPLETED,
|
||||||
|
QEMU_MONITOR_MIGRATION_STATUS_ERROR,
|
||||||
|
QEMU_MONITOR_MIGRATION_STATUS_CANCELLED,
|
||||||
|
+ QEMU_MONITOR_MIGRATION_STATUS_SETUP,
|
||||||
|
|
||||||
|
QEMU_MONITOR_MIGRATION_STATUS_LAST
|
||||||
|
};
|
||||||
|
--
|
||||||
|
1.8.4.2
|
||||||
|
|
|
@ -0,0 +1,223 @@
|
||||||
|
From e20a2c775a07aad3a5309785dd75909aacc48d95 Mon Sep 17 00:00:00 2001
|
||||||
|
Message-Id: <e20a2c775a07aad3a5309785dd75909aacc48d95.1384729563.git.crobinso@redhat.com>
|
||||||
|
From: =?UTF-8?q?J=C3=A1n=20Tomko?= <jtomko@redhat.com>
|
||||||
|
Date: Mon, 1 Jul 2013 18:28:50 +0200
|
||||||
|
Subject: [PATCH] qemu: don't use deprecated -no-kvm-pit-reinjection
|
||||||
|
|
||||||
|
Since qemu-kvm 1.1 [1] (since 1.3. in upstream QEMU [2])
|
||||||
|
'-no-kvm-pit-reinjection' has been deprecated.
|
||||||
|
Use -global kvm-pit.lost_tick_policy=discard instead.
|
||||||
|
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=978719
|
||||||
|
|
||||||
|
[1] http://git.kernel.org/cgit/virt/kvm/qemu-kvm.git/commit/?id=4e4fa39
|
||||||
|
[2] http://git.qemu.org/?p=qemu.git;a=commitdiff;h=c21fb4f
|
||||||
|
|
||||||
|
(cherry picked from commit 1569fa14d8f6b6636cf78d7ee62ae3bd205f5638)
|
||||||
|
|
||||||
|
Conflicts:
|
||||||
|
tests/qemucapabilitiesdata/caps_1.2.2-1.caps
|
||||||
|
tests/qemucapabilitiesdata/caps_1.2.2-1.replies
|
||||||
|
tests/qemucapabilitiesdata/caps_1.3.1-1.caps
|
||||||
|
tests/qemucapabilitiesdata/caps_1.3.1-1.replies
|
||||||
|
tests/qemucapabilitiesdata/caps_1.4.2-1.caps
|
||||||
|
tests/qemucapabilitiesdata/caps_1.4.2-1.replies
|
||||||
|
tests/qemucapabilitiesdata/caps_1.5.3-1.caps
|
||||||
|
tests/qemucapabilitiesdata/caps_1.5.3-1.replies
|
||||||
|
tests/qemucapabilitiesdata/caps_1.6.0-1.caps
|
||||||
|
tests/qemucapabilitiesdata/caps_1.6.0-1.replies
|
||||||
|
tests/qemucapabilitiesdata/caps_1.6.50-1.caps
|
||||||
|
tests/qemucapabilitiesdata/caps_1.6.50-1.replies
|
||||||
|
(qemucapabilitiestest is not backported)
|
||||||
|
---
|
||||||
|
src/qemu/qemu_capabilities.c | 7 ++++++
|
||||||
|
src/qemu/qemu_capabilities.h | 1 +
|
||||||
|
src/qemu/qemu_command.c | 8 ++++--
|
||||||
|
.../qemuxml2argv-kvm-pit-delay.args | 5 ++++
|
||||||
|
.../qemuxml2argv-kvm-pit-delay.xml | 29 ++++++++++++++++++++++
|
||||||
|
.../qemuxml2argv-kvm-pit-device.args | 5 ++++
|
||||||
|
.../qemuxml2argv-kvm-pit-device.xml | 29 ++++++++++++++++++++++
|
||||||
|
tests/qemuxml2argvtest.c | 5 ++++
|
||||||
|
8 files changed, 87 insertions(+), 2 deletions(-)
|
||||||
|
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.args
|
||||||
|
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.xml
|
||||||
|
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.args
|
||||||
|
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.xml
|
||||||
|
|
||||||
|
diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
|
||||||
|
index dc8f0be..5e1ae93 100644
|
||||||
|
--- a/src/qemu/qemu_capabilities.c
|
||||||
|
+++ b/src/qemu/qemu_capabilities.c
|
||||||
|
@@ -242,6 +242,7 @@ VIR_ENUM_IMPL(virQEMUCaps, QEMU_CAPS_LAST,
|
||||||
|
"usb-storage.removable",
|
||||||
|
"virtio-mmio",
|
||||||
|
"ich9-intel-hda",
|
||||||
|
+ "kvm-pit-lost-tick-policy",
|
||||||
|
);
|
||||||
|
|
||||||
|
struct _virQEMUCaps {
|
||||||
|
@@ -1458,6 +1459,10 @@ static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsUsbStorage[] = {
|
||||||
|
{ "removable", QEMU_CAPS_USB_STORAGE_REMOVABLE },
|
||||||
|
};
|
||||||
|
|
||||||
|
+static struct virQEMUCapsStringFlags virQEMUCapsObjectPropsKVMPit[] = {
|
||||||
|
+ { "lost_tick_policy", QEMU_CAPS_KVM_PIT_TICK_POLICY },
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
struct virQEMUCapsObjectTypeProps {
|
||||||
|
const char *type;
|
||||||
|
struct virQEMUCapsStringFlags *props;
|
||||||
|
@@ -1501,6 +1506,8 @@ static struct virQEMUCapsObjectTypeProps virQEMUCapsObjectProps[] = {
|
||||||
|
ARRAY_CARDINALITY(virQEMUCapsObjectPropsQ35PciHost) },
|
||||||
|
{ "usb-storage", virQEMUCapsObjectPropsUsbStorage,
|
||||||
|
ARRAY_CARDINALITY(virQEMUCapsObjectPropsUsbStorage) },
|
||||||
|
+ { "kvm-pit", virQEMUCapsObjectPropsKVMPit,
|
||||||
|
+ ARRAY_CARDINALITY(virQEMUCapsObjectPropsKVMPit) },
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h
|
||||||
|
index f8dc728..7c05412 100644
|
||||||
|
--- a/src/qemu/qemu_capabilities.h
|
||||||
|
+++ b/src/qemu/qemu_capabilities.h
|
||||||
|
@@ -197,6 +197,7 @@ enum virQEMUCapsFlags {
|
||||||
|
QEMU_CAPS_USB_STORAGE_REMOVABLE = 156, /* usb-storage.removable */
|
||||||
|
QEMU_CAPS_DEVICE_VIRTIO_MMIO = 157, /* -device virtio-mmio */
|
||||||
|
QEMU_CAPS_DEVICE_ICH9_INTEL_HDA = 158, /* -device ich9-intel-hda */
|
||||||
|
+ QEMU_CAPS_KVM_PIT_TICK_POLICY = 159, /* kvm-pit.lost_tick_policy */
|
||||||
|
|
||||||
|
QEMU_CAPS_LAST, /* this must always be the last item */
|
||||||
|
};
|
||||||
|
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
|
||||||
|
index e3c2d0c..38fbd45 100644
|
||||||
|
--- a/src/qemu/qemu_command.c
|
||||||
|
+++ b/src/qemu/qemu_command.c
|
||||||
|
@@ -7968,11 +7968,15 @@ qemuBuildCommandLine(virConnectPtr conn,
|
||||||
|
case VIR_DOMAIN_TIMER_TICKPOLICY_DELAY:
|
||||||
|
/* delay is the default if we don't have kernel
|
||||||
|
(-no-kvm-pit), otherwise, the default is catchup. */
|
||||||
|
- if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_NO_KVM_PIT))
|
||||||
|
+ if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM_PIT_TICK_POLICY))
|
||||||
|
+ virCommandAddArgList(cmd, "-global",
|
||||||
|
+ "kvm-pit.lost_tick_policy=discard", NULL);
|
||||||
|
+ else if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_NO_KVM_PIT))
|
||||||
|
virCommandAddArg(cmd, "-no-kvm-pit-reinjection");
|
||||||
|
break;
|
||||||
|
case VIR_DOMAIN_TIMER_TICKPOLICY_CATCHUP:
|
||||||
|
- if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_NO_KVM_PIT)) {
|
||||||
|
+ if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_NO_KVM_PIT) ||
|
||||||
|
+ virQEMUCapsGet(qemuCaps, QEMU_CAPS_KVM_PIT_TICK_POLICY)) {
|
||||||
|
/* do nothing - this is default for kvm-pit */
|
||||||
|
} else if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_TDF)) {
|
||||||
|
/* -tdf switches to 'catchup' with userspace pit. */
|
||||||
|
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.args b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.args
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..ca5823f
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.args
|
||||||
|
@@ -0,0 +1,5 @@
|
||||||
|
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
|
||||||
|
+/usr/bin/qemu -S -M pc -m 214 -smp 2 -nographic \
|
||||||
|
+-monitor unix:/tmp/test-monitor,server,nowait \
|
||||||
|
+-no-kvm-pit-reinjection -no-acpi -boot c -usb -hda /dev/HostVG/QEMUGuest1 \
|
||||||
|
+-net none -serial none -parallel none
|
||||||
|
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.xml b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.xml
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..7835a1b
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-delay.xml
|
||||||
|
@@ -0,0 +1,29 @@
|
||||||
|
+<domain type='qemu'>
|
||||||
|
+ <name>QEMUGuest1</name>
|
||||||
|
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
||||||
|
+ <memory unit='KiB'>219136</memory>
|
||||||
|
+ <currentMemory unit='KiB'>219136</currentMemory>
|
||||||
|
+ <vcpu placement='static'>2</vcpu>
|
||||||
|
+ <os>
|
||||||
|
+ <type arch='i686' machine='pc'>hvm</type>
|
||||||
|
+ <boot dev='hd'/>
|
||||||
|
+ </os>
|
||||||
|
+ <clock offset='utc'>
|
||||||
|
+ <timer name='pit' tickpolicy='delay'/>
|
||||||
|
+ </clock>
|
||||||
|
+ <on_poweroff>destroy</on_poweroff>
|
||||||
|
+ <on_reboot>restart</on_reboot>
|
||||||
|
+ <on_crash>destroy</on_crash>
|
||||||
|
+ <devices>
|
||||||
|
+ <emulator>/usr/bin/qemu</emulator>
|
||||||
|
+ <disk type='block' device='disk'>
|
||||||
|
+ <source dev='/dev/HostVG/QEMUGuest1'/>
|
||||||
|
+ <target dev='hda' bus='ide'/>
|
||||||
|
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
|
||||||
|
+ </disk>
|
||||||
|
+ <controller type='usb' index='0'/>
|
||||||
|
+ <controller type='ide' index='0'/>
|
||||||
|
+ <controller type='pci' index='0' model='pci-root'/>
|
||||||
|
+ <memballoon model='virtio'/>
|
||||||
|
+ </devices>
|
||||||
|
+</domain>
|
||||||
|
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.args b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.args
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..f03840f
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.args
|
||||||
|
@@ -0,0 +1,5 @@
|
||||||
|
+LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
|
||||||
|
+/usr/bin/qemu -S -M pc -m 214 -smp 2 -nographic \
|
||||||
|
+-monitor unix:/tmp/test-monitor,server,nowait \
|
||||||
|
+-global kvm-pit.lost_tick_policy=discard -no-acpi -boot c -usb \
|
||||||
|
+-hda /dev/HostVG/QEMUGuest1 -net none -serial none -parallel none
|
||||||
|
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.xml b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.xml
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..7835a1b
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/qemuxml2argvdata/qemuxml2argv-kvm-pit-device.xml
|
||||||
|
@@ -0,0 +1,29 @@
|
||||||
|
+<domain type='qemu'>
|
||||||
|
+ <name>QEMUGuest1</name>
|
||||||
|
+ <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
||||||
|
+ <memory unit='KiB'>219136</memory>
|
||||||
|
+ <currentMemory unit='KiB'>219136</currentMemory>
|
||||||
|
+ <vcpu placement='static'>2</vcpu>
|
||||||
|
+ <os>
|
||||||
|
+ <type arch='i686' machine='pc'>hvm</type>
|
||||||
|
+ <boot dev='hd'/>
|
||||||
|
+ </os>
|
||||||
|
+ <clock offset='utc'>
|
||||||
|
+ <timer name='pit' tickpolicy='delay'/>
|
||||||
|
+ </clock>
|
||||||
|
+ <on_poweroff>destroy</on_poweroff>
|
||||||
|
+ <on_reboot>restart</on_reboot>
|
||||||
|
+ <on_crash>destroy</on_crash>
|
||||||
|
+ <devices>
|
||||||
|
+ <emulator>/usr/bin/qemu</emulator>
|
||||||
|
+ <disk type='block' device='disk'>
|
||||||
|
+ <source dev='/dev/HostVG/QEMUGuest1'/>
|
||||||
|
+ <target dev='hda' bus='ide'/>
|
||||||
|
+ <address type='drive' controller='0' bus='0' target='0' unit='0'/>
|
||||||
|
+ </disk>
|
||||||
|
+ <controller type='usb' index='0'/>
|
||||||
|
+ <controller type='ide' index='0'/>
|
||||||
|
+ <controller type='pci' index='0' model='pci-root'/>
|
||||||
|
+ <memballoon model='virtio'/>
|
||||||
|
+ </devices>
|
||||||
|
+</domain>
|
||||||
|
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
|
||||||
|
index d23f545..15e21be 100644
|
||||||
|
--- a/tests/qemuxml2argvtest.c
|
||||||
|
+++ b/tests/qemuxml2argvtest.c
|
||||||
|
@@ -1083,6 +1083,11 @@ mymain(void)
|
||||||
|
QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE_VIRTIO_MMIO,
|
||||||
|
QEMU_CAPS_DEVICE_VIRTIO_RNG, QEMU_CAPS_OBJECT_RNG_RANDOM);
|
||||||
|
|
||||||
|
+ DO_TEST("kvm-pit-device", QEMU_CAPS_KVM_PIT_TICK_POLICY);
|
||||||
|
+ DO_TEST("kvm-pit-delay", QEMU_CAPS_NO_KVM_PIT);
|
||||||
|
+ DO_TEST("kvm-pit-device", QEMU_CAPS_NO_KVM_PIT,
|
||||||
|
+ QEMU_CAPS_KVM_PIT_TICK_POLICY);
|
||||||
|
+
|
||||||
|
virObjectUnref(driver.config);
|
||||||
|
virObjectUnref(driver.caps);
|
||||||
|
virObjectUnref(driver.xmlopt);
|
||||||
|
--
|
||||||
|
1.8.4.2
|
||||||
|
|
26
libvirt.spec
26
libvirt.spec
|
@ -367,7 +367,7 @@
|
||||||
Summary: Library providing a simple virtualization API
|
Summary: Library providing a simple virtualization API
|
||||||
Name: libvirt
|
Name: libvirt
|
||||||
Version: 1.1.3.1
|
Version: 1.1.3.1
|
||||||
Release: 1%{?dist}%{?extra_release}
|
Release: 2%{?dist}%{?extra_release}
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||||
|
@ -378,6 +378,15 @@ URL: http://libvirt.org/
|
||||||
%endif
|
%endif
|
||||||
Source: http://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.gz
|
Source: http://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.gz
|
||||||
|
|
||||||
|
# Fix attaching ISO from cifs filesystem (bz #1012085)
|
||||||
|
Patch0002: 0002-util-recognize-SMB-CIFS-filesystems-as-shared.patch
|
||||||
|
# Fix crash with libxl driver and vcpu affinity (bz #1013045)
|
||||||
|
Patch0003: 0003-libxl-fix-dubious-cpumask-handling-in-libxlDomainSet.patch
|
||||||
|
# Fix managed save 'unexpected migration status' failure (bz #1015636)
|
||||||
|
Patch0004: 0004-Fix-migration-with-QEMU-1.6.patch
|
||||||
|
# Fix qemu deprecation warning in logs with tick options (bz #978719)
|
||||||
|
Patch0005: 0005-qemu-don-t-use-deprecated-no-kvm-pit-reinjection.patch
|
||||||
|
|
||||||
%if %{with_libvirtd}
|
%if %{with_libvirtd}
|
||||||
Requires: libvirt-daemon = %{version}-%{release}
|
Requires: libvirt-daemon = %{version}-%{release}
|
||||||
%if %{with_network}
|
%if %{with_network}
|
||||||
|
@ -1161,6 +1170,15 @@ of recent versions of Linux (and other OSes).
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
|
||||||
|
# Fix attaching ISO from cifs filesystem (bz #1012085)
|
||||||
|
%patch0002 -p1
|
||||||
|
# Fix crash with libxl driver and vcpu affinity (bz #1013045)
|
||||||
|
%patch0003 -p1
|
||||||
|
# Fix managed save 'unexpected migration status' failure (bz #1015636)
|
||||||
|
%patch0004 -p1
|
||||||
|
# Fix qemu deprecation warning in logs with tick options (bz #978719)
|
||||||
|
%patch0005 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%if ! %{with_xen}
|
%if ! %{with_xen}
|
||||||
%define _without_xen --without-xen
|
%define _without_xen --without-xen
|
||||||
|
@ -2118,6 +2136,12 @@ fi
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sun Nov 17 2013 Cole Robinson <crobinso@redhat.com> - 1.1.3.1-2
|
||||||
|
- Fix attaching ISO from cifs filesystem (bz #1012085)
|
||||||
|
- Fix crash with libxl driver and vcpu affinity (bz #1013045)
|
||||||
|
- Fix managed save 'unexpected migration status' failure (bz #1015636)
|
||||||
|
- Fix qemu deprecation warning in logs with tick options (bz #978719)
|
||||||
|
|
||||||
* Wed Nov 06 2013 Cole Robinson <crobinso@redhat.com> - 1.1.3.1-1
|
* Wed Nov 06 2013 Cole Robinson <crobinso@redhat.com> - 1.1.3.1-1
|
||||||
- Rebased to version 1.1.3.1
|
- Rebased to version 1.1.3.1
|
||||||
- CVE-2013-4400: virt-login-shell arbitrary file overwrites vulnerability (bz
|
- CVE-2013-4400: virt-login-shell arbitrary file overwrites vulnerability (bz
|
||||||
|
|
Loading…
Reference in New Issue