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
|
||||
Name: libvirt
|
||||
Version: 1.1.3.1
|
||||
Release: 1%{?dist}%{?extra_release}
|
||||
Release: 2%{?dist}%{?extra_release}
|
||||
License: LGPLv2+
|
||||
Group: Development/Libraries
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||
|
@ -378,6 +378,15 @@ URL: http://libvirt.org/
|
|||
%endif
|
||||
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}
|
||||
Requires: libvirt-daemon = %{version}-%{release}
|
||||
%if %{with_network}
|
||||
|
@ -1161,6 +1170,15 @@ of recent versions of Linux (and other OSes).
|
|||
%prep
|
||||
%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
|
||||
%if ! %{with_xen}
|
||||
%define _without_xen --without-xen
|
||||
|
@ -2118,6 +2136,12 @@ fi
|
|||
%endif
|
||||
|
||||
%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
|
||||
- Rebased to version 1.1.3.1
|
||||
- CVE-2013-4400: virt-login-shell arbitrary file overwrites vulnerability (bz
|
||||
|
|
Loading…
Reference in New Issue