From 379397c0f75f6543524add688bea7cd703098b22833407fd0efc438088260ae2 Mon Sep 17 00:00:00 2001 From: James Fehlig Date: Tue, 4 Aug 2015 15:13:51 +0000 Subject: [PATCH] Accepting request 320420 from home:jfehlig:branches:Virtualization - Update to libvirt 1.2.18 - libxl: support dom0 - Many incremental improvements and bug fixes, see http://libvirt.org/news.html - Dropped upstream patches: e44bcae-virt-aa-helper-trailing-slash.patch, a55a5e7-virt-aa-helper-log.patch, 61dab0f-virt-aa-helper-renaming.patch, 24f3c2f-virt-aa-helper-fix-caps.patch, 45697fe5-libxl-support-dom0.patch, e9c27344-libxl-fix-virDomainObj-state.patch, 4ffb21c8-libxl-dom0-state-fix.patch, qemu-nbd-cleanup-fix.patch OBS-URL: https://build.opensuse.org/request/show/320420 OBS-URL: https://build.opensuse.org/package/show/Virtualization/libvirt?expand=0&rev=475 --- ...ef-counting-of-libxlMigrationDstArgs.patch | 6 +- ...mpt-to-resume-domain-when-suspend-fa.patch | 6 +- ...job-when-receiving-a-migrating-domai.patch | 6 +- 24f3c2f-virt-aa-helper-fix-caps.patch | 104 -------- 45697fe5-libxl-support-dom0.patch | 225 ----------------- 4ffb21c8-libxl-dom0-state-fix.patch | 26 -- 61dab0f-virt-aa-helper-renaming.patch | 64 ----- a55a5e7-virt-aa-helper-log.patch | 53 ---- apparmor-fixes.patch | 6 +- apparmor-no-mount.patch | 6 +- blockcopy-check-dst-identical-device.patch | 8 +- disable-virCgroupGetPercpuStats-test.patch | 17 +- e44bcae-virt-aa-helper-trailing-slash.patch | 28 --- e9c27344-libxl-fix-virDomainObj-state.patch | 232 ------------------ libvirt-1.2.17.tar.gz | 3 - libvirt-1.2.17.tar.gz.asc | 7 - libvirt-1.2.18.tar.gz | 3 + libvirt-1.2.18.tar.gz.asc | 7 + libvirt-guests-init-script.patch | 18 +- libvirt-power8-models.patch | 10 +- libvirt-suse-netcontrol.patch | 40 +-- libvirt.changes | 17 ++ libvirt.spec | 18 +- libvirtd-defaults.patch | 18 +- libvirtd-init-script.patch | 6 +- libvirtd-systemd-socket.patch | 6 +- ppc64le-canonical-name.patch | 6 +- qemu-apparmor-screenshot.patch | 6 +- qemu-nbd-cleanup-fix.patch | 55 ----- support-managed-pci-xen-driver.patch | 12 +- suse-qemu-conf.patch | 6 +- systemd-service-xen.patch | 6 +- virtlockd-init-script.patch | 12 +- xen-pv-cdrom.patch | 6 +- 34 files changed, 131 insertions(+), 918 deletions(-) delete mode 100644 24f3c2f-virt-aa-helper-fix-caps.patch delete mode 100644 45697fe5-libxl-support-dom0.patch delete mode 100644 4ffb21c8-libxl-dom0-state-fix.patch delete mode 100644 61dab0f-virt-aa-helper-renaming.patch delete mode 100644 a55a5e7-virt-aa-helper-log.patch delete mode 100644 e44bcae-virt-aa-helper-trailing-slash.patch delete mode 100644 e9c27344-libxl-fix-virDomainObj-state.patch delete mode 100644 libvirt-1.2.17.tar.gz delete mode 100644 libvirt-1.2.17.tar.gz.asc create mode 100644 libvirt-1.2.18.tar.gz create mode 100644 libvirt-1.2.18.tar.gz.asc delete mode 100644 qemu-nbd-cleanup-fix.patch diff --git a/0003-libxl-fix-ref-counting-of-libxlMigrationDstArgs.patch b/0003-libxl-fix-ref-counting-of-libxlMigrationDstArgs.patch index 9a9429a..39e9ea8 100644 --- a/0003-libxl-fix-ref-counting-of-libxlMigrationDstArgs.patch +++ b/0003-libxl-fix-ref-counting-of-libxlMigrationDstArgs.patch @@ -34,10 +34,10 @@ Signed-off-by: Jim Fehlig src/libxl/libxl_migration.c | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) -Index: libvirt-1.2.17/src/libxl/libxl_migration.c +Index: libvirt-1.2.18/src/libxl/libxl_migration.c =================================================================== ---- libvirt-1.2.17.orig/src/libxl/libxl_migration.c -+++ libvirt-1.2.17/src/libxl/libxl_migration.c +--- libvirt-1.2.18.orig/src/libxl/libxl_migration.c ++++ libvirt-1.2.18/src/libxl/libxl_migration.c @@ -112,11 +112,11 @@ libxlDoMigrateReceive(void *opaque) virNetSocketUpdateIOCallback(socks[i], 0); virNetSocketRemoveIOCallback(socks[i]); diff --git a/0004-libxl-don-t-attempt-to-resume-domain-when-suspend-fa.patch b/0004-libxl-don-t-attempt-to-resume-domain-when-suspend-fa.patch index 917c175..bea44e7 100644 --- a/0004-libxl-don-t-attempt-to-resume-domain-when-suspend-fa.patch +++ b/0004-libxl-don-t-attempt-to-resume-domain-when-suspend-fa.patch @@ -12,10 +12,10 @@ Signed-off-by: Jim Fehlig src/libxl/libxl_migration.c | 14 -------------- 1 file changed, 14 deletions(-) -Index: libvirt-1.2.17/src/libxl/libxl_migration.c +Index: libvirt-1.2.18/src/libxl/libxl_migration.c =================================================================== ---- libvirt-1.2.17.orig/src/libxl/libxl_migration.c -+++ libvirt-1.2.17/src/libxl/libxl_migration.c +--- libvirt-1.2.18.orig/src/libxl/libxl_migration.c ++++ libvirt-1.2.18/src/libxl/libxl_migration.c @@ -178,7 +178,6 @@ libxlDoMigrateSend(libxlDriverPrivatePtr int sockfd) { diff --git a/0005-libxl-acquire-a-job-when-receiving-a-migrating-domai.patch b/0005-libxl-acquire-a-job-when-receiving-a-migrating-domai.patch index 0edd952..bb91fda 100644 --- a/0005-libxl-acquire-a-job-when-receiving-a-migrating-domai.patch +++ b/0005-libxl-acquire-a-job-when-receiving-a-migrating-domai.patch @@ -13,10 +13,10 @@ Signed-off-by: Jim Fehlig src/libxl/libxl_migration.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) -Index: libvirt-1.2.17/src/libxl/libxl_migration.c +Index: libvirt-1.2.18/src/libxl/libxl_migration.c =================================================================== ---- libvirt-1.2.17.orig/src/libxl/libxl_migration.c -+++ libvirt-1.2.17/src/libxl/libxl_migration.c +--- libvirt-1.2.18.orig/src/libxl/libxl_migration.c ++++ libvirt-1.2.18/src/libxl/libxl_migration.c @@ -95,17 +95,20 @@ libxlDoMigrateReceive(void *opaque) int recvfd = args->recvfd; size_t i; diff --git a/24f3c2f-virt-aa-helper-fix-caps.patch b/24f3c2f-virt-aa-helper-fix-caps.patch deleted file mode 100644 index c293602..0000000 --- a/24f3c2f-virt-aa-helper-fix-caps.patch +++ /dev/null @@ -1,104 +0,0 @@ -From 24f3c2f7e0e196df5539616d03e039344768cd26 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= -Date: Thu, 25 Jun 2015 16:08:42 +0200 -Subject: [PATCH 4/5] virt-aa-helper: add DomainGuest to mockup caps - -With commit 3f9868a virt-aa-helper stopped working due to missing -DomainGuest in the caps. - -The test with -c without arch also needs to be -removed since the new capabilities code uses the host arch when none is -provided. ---- - src/security/virt-aa-helper.c | 25 ++++++++++++++++++++++++- - tests/virt-aa-helper-test | 3 --- - 2 files changed, 24 insertions(+), 4 deletions(-) - -diff --git a/src/security/virt-aa-helper.c b/src/security/virt-aa-helper.c -index 604fb93..4ce1e7a 100644 ---- a/src/security/virt-aa-helper.c -+++ b/src/security/virt-aa-helper.c -@@ -73,6 +73,7 @@ typedef struct { - virDomainDefPtr def; /* VM definition */ - virCapsPtr caps; /* VM capabilities */ - virDomainXMLOptionPtr xmlopt; /* XML parser data */ -+ char *virtType; /* type of hypervisor (eg qemu, xen, lxc) */ - char *os; /* type of os (eg hvm, xen, exe) */ - virArch arch; /* machine architecture */ - char *newfile; /* newly added file */ -@@ -89,6 +90,7 @@ vahDeinit(vahControl * ctl) - virObjectUnref(ctl->caps); - virObjectUnref(ctl->xmlopt); - VIR_FREE(ctl->files); -+ VIR_FREE(ctl->virtType); - VIR_FREE(ctl->os); - VIR_FREE(ctl->newfile); - -@@ -641,6 +643,7 @@ verify_xpath_context(xmlXPathContextPtr ctxt) - - /* - * Parse the xml we received to fill in the following: -+ * ctl->virtType - * ctl->os - * ctl->arch - * -@@ -668,6 +671,11 @@ caps_mockup(vahControl * ctl, const char *xmlStr) - if (verify_xpath_context(ctxt) != 0) - goto cleanup; - -+ ctl->virtType = virXPathString("string(./@type)", ctxt); -+ if (!ctl->virtType) { -+ vah_error(ctl, 0, _("domain type is not defined")); -+ goto cleanup; -+ } - ctl->os = virXPathString("string(./os/type[1])", ctxt); - if (!ctl->os) { - vah_error(ctl, 0, _("os.type is not defined")); -@@ -694,7 +702,7 @@ caps_mockup(vahControl * ctl, const char *xmlStr) - static int - get_definition(vahControl * ctl, const char *xmlStr) - { -- int rc = -1, ostype; -+ int rc = -1, ostype, virtType; - virCapsGuestPtr guest; /* this is freed when caps is freed */ - - /* -@@ -730,6 +738,21 @@ get_definition(vahControl * ctl, const char *xmlStr) - goto exit; - } - -+ if ((virtType = virDomainVirtTypeFromString(ctl->virtType)) < 0) { -+ vah_error(ctl, 0, _("unknown virtualization type")); -+ goto exit; -+ } -+ -+ if (virCapabilitiesAddGuestDomain(guest, -+ virtType, -+ NULL, -+ NULL, -+ 0, -+ NULL) == NULL) { -+ vah_error(ctl, 0, _("could not allocate memory")); -+ goto exit; -+ } -+ - ctl->def = virDomainDefParseString(xmlStr, - ctl->caps, ctl->xmlopt, - VIR_DOMAIN_DEF_PARSE_INACTIVE); -diff --git a/tests/virt-aa-helper-test b/tests/virt-aa-helper-test -index 96471ff..caf2f97 100755 ---- a/tests/virt-aa-helper-test -+++ b/tests/virt-aa-helper-test -@@ -194,9 +194,6 @@ testme "1" "-c with malformed xml" "-c -u $valid_uuid" "$test_xml" - sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e "s,hvm,,g" "$template_xml" > "$test_xml" - testme "1" "-c with no os.type" "-c -u $valid_uuid" "$test_xml" - --sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e "s,hvm,hvm,g" "$template_xml" > "$test_xml" --testme "1" "-c with no architecture" "-c -u $valid_uuid" "$test_xml" -- - sed -e "s,###UUID###,$uuid,g" -e "s,###DISK###,$disk1,g" -e "s,hvm,hvm_invalid,g" "$template_xml" > "$test_xml" - testme "1" "-c with invalid hvm" "-c -u $valid_uuid" "$test_xml" - --- -2.1.4 - diff --git a/45697fe5-libxl-support-dom0.patch b/45697fe5-libxl-support-dom0.patch deleted file mode 100644 index 2c77b5a..0000000 --- a/45697fe5-libxl-support-dom0.patch +++ /dev/null @@ -1,225 +0,0 @@ -commit 45697fe545841af46c95c996439ed59ca3a7ef9d -Author: Jim Fehlig -Date: Mon Jun 22 11:36:59 2015 -0600 - - libxl: support dom0 - - In Xen, dom0 is really just another domain that supports ballooning, - adding/removing devices, changing vcpu configuration, etc. This patch - adds support to the libxl driver for managing dom0. Note that the - legacy xend driver has long supported managing dom0. - - Operations that are not supported on dom0 are filtered in libvirt - where a sensible error is reported. Errors from libxl are not - always helpful. E.g., attempting a save on dom0 results in - - 2015-06-23 15:25:05 MDT libxl: debug: libxl_dom.c:1570:libxl__toolstack_save: domain=0 toolstack data size=8 - 2015-06-23 15:25:05 MDT libxl: debug: libxl.c:979:do_libxl_domain_suspend: ao 0x7f7e68000b70: inprogress: poller=0x7f7e68000930, flags=i - 2015-06-23 15:25:05 MDT libxl-save-helper: debug: starting save: Success - 2015-06-23 15:25:05 MDT xc: detail: xc_domain_save_suse: starting save of domid 0 - 2015-06-23 15:25:05 MDT xc: error: Couldn't map live_shinfo (3 = No such process): Internal error - 2015-06-23 15:25:05 MDT xc: detail: Save exit of domid 0 with errno=3 - 2015-06-23 15:25:05 MDT libxl-save-helper: debug: complete r=1: No such process - 2015-06-23 15:25:05 MDT libxl: error: libxl_dom.c:1876:libxl__xc_domain_save_done: saving domain: domain did not respond to suspend request: No such process - 2015-06-23 15:25:05 MDT libxl: error: libxl_dom.c:2033:remus_teardown_done: Remus: failed to teardown device for guest with domid 0, rc -8 - - Signed-off-by: Jim Fehlig - -Index: libvirt-1.2.17/src/libxl/libxl_driver.c -=================================================================== ---- libvirt-1.2.17.orig/src/libxl/libxl_driver.c -+++ libvirt-1.2.17/src/libxl/libxl_driver.c -@@ -79,6 +79,15 @@ VIR_LOG_INIT("libxl.libxl_driver"); - /* Number of Xen scheduler parameters */ - #define XEN_SCHED_CREDIT_NPARAM 2 - -+#define LIBXL_CHECK_DOM0_GOTO(name, label) \ -+ do { \ -+ if (STREQ_NULLABLE(name, "Domain-0")) { \ -+ virReportError(VIR_ERR_OPERATION_INVALID, "%s", \ -+ _("Domain-0 does not support requested operation")); \ -+ goto label; \ -+ } \ -+ } while (0) -+ - - static libxlDriverPrivatePtr libxl_driver; - -@@ -501,6 +510,63 @@ const struct libxl_event_hooks ev_hooks - }; - - static int -+libxlAddDom0(libxlDriverPrivatePtr driver) -+{ -+ libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver); -+ virDomainDefPtr def = NULL; -+ virDomainObjPtr vm = NULL; -+ virDomainDefPtr oldDef = NULL; -+ libxl_dominfo d_info; -+ int ret = -1; -+ -+ libxl_dominfo_init(&d_info); -+ -+ /* Ensure we have a dom0 */ -+ if (libxl_domain_info(cfg->ctx, &d_info, 0) != 0) { -+ virReportError(VIR_ERR_INTERNAL_ERROR, -+ "%s", _("unable to get Domain-0 information from libxenlight")); -+ goto cleanup; -+ } -+ -+ if (!(def = virDomainDefNew())) -+ goto cleanup; -+ -+ def->id = 0; -+ def->virtType = VIR_DOMAIN_VIRT_XEN; -+ if (VIR_STRDUP(def->name, "Domain-0") < 0) -+ goto cleanup; -+ -+ def->os.type = VIR_DOMAIN_OSTYPE_XEN; -+ -+ if (virUUIDParse("00000000-0000-0000-0000-000000000000", def->uuid) < 0) -+ goto cleanup; -+ -+ if (!(vm = virDomainObjListAdd(driver->domains, def, -+ driver->xmlopt, -+ 0, -+ &oldDef))) -+ goto cleanup; -+ -+ def = NULL; -+ -+ vm->def->vcpus = d_info.vcpu_online; -+ vm->def->maxvcpus = d_info.vcpu_max_id + 1; -+ vm->def->mem.cur_balloon = d_info.current_memkb; -+ vm->def->mem.max_balloon = d_info.max_memkb; -+ -+ ret = 0; -+ -+ cleanup: -+ libxl_dominfo_dispose(&d_info); -+ virDomainDefFree(def); -+ virDomainDefFree(oldDef); -+ if (vm) -+ virObjectUnlock(vm); -+ virObjectUnref(cfg); -+ return ret; -+} -+ -+static int - libxlStateInitialize(bool privileged, - virStateInhibitCallback callback ATTRIBUTE_UNUSED, - void *opaque ATTRIBUTE_UNUSED) -@@ -616,6 +682,10 @@ libxlStateInitialize(bool privileged, - if (!(libxl_driver->xmlopt = libxlCreateXMLConf())) - goto error; - -+ /* Add Domain-0 */ -+ if (libxlAddDom0(libxl_driver) < 0) -+ goto error; -+ - /* Load running domains first. */ - if (virDomainObjListLoadAllConfigs(libxl_driver->domains, - cfg->stateDir, -@@ -1030,6 +1100,8 @@ libxlDomainSuspend(virDomainPtr dom) - if (!(vm = libxlDomObjFromDomain(dom))) - goto cleanup; - -+ LIBXL_CHECK_DOM0_GOTO(vm->def->name, cleanup); -+ - if (virDomainSuspendEnsureACL(dom->conn, vm->def) < 0) - goto cleanup; - -@@ -1086,6 +1158,8 @@ libxlDomainResume(virDomainPtr dom) - if (!(vm = libxlDomObjFromDomain(dom))) - goto cleanup; - -+ LIBXL_CHECK_DOM0_GOTO(vm->def->name, cleanup); -+ - if (virDomainResumeEnsureACL(dom->conn, vm->def) < 0) - goto cleanup; - -@@ -1147,6 +1221,8 @@ libxlDomainShutdownFlags(virDomainPtr do - if (!(vm = libxlDomObjFromDomain(dom))) - goto cleanup; - -+ LIBXL_CHECK_DOM0_GOTO(vm->def->name, cleanup); -+ - if (virDomainShutdownFlagsEnsureACL(dom->conn, vm->def, flags) < 0) - goto cleanup; - -@@ -1212,6 +1288,8 @@ libxlDomainReboot(virDomainPtr dom, unsi - if (!(vm = libxlDomObjFromDomain(dom))) - goto cleanup; - -+ LIBXL_CHECK_DOM0_GOTO(vm->def->name, cleanup); -+ - if (virDomainRebootEnsureACL(dom->conn, vm->def, flags) < 0) - goto cleanup; - -@@ -1254,6 +1332,8 @@ libxlDomainDestroyFlags(virDomainPtr dom - if (!(vm = libxlDomObjFromDomain(dom))) - goto cleanup; - -+ LIBXL_CHECK_DOM0_GOTO(vm->def->name, cleanup); -+ - if (virDomainDestroyFlagsEnsureACL(dom->conn, vm->def) < 0) - goto cleanup; - -@@ -1656,6 +1736,8 @@ libxlDomainSaveFlags(virDomainPtr dom, c - if (!(vm = libxlDomObjFromDomain(dom))) - goto cleanup; - -+ LIBXL_CHECK_DOM0_GOTO(vm->def->name, cleanup); -+ - if (virDomainSaveFlagsEnsureACL(dom->conn, vm->def) < 0) - goto cleanup; - -@@ -1782,6 +1864,8 @@ libxlDomainCoreDump(virDomainPtr dom, co - if (!(vm = libxlDomObjFromDomain(dom))) - goto cleanup; - -+ LIBXL_CHECK_DOM0_GOTO(vm->def->name, cleanup); -+ - if (virDomainCoreDumpEnsureACL(dom->conn, vm->def) < 0) - goto cleanup; - -@@ -1877,6 +1961,8 @@ libxlDomainManagedSave(virDomainPtr dom, - if (!(vm = libxlDomObjFromDomain(dom))) - goto cleanup; - -+ LIBXL_CHECK_DOM0_GOTO(vm->def->name, cleanup); -+ - if (virDomainManagedSaveEnsureACL(dom->conn, vm->def) < 0) - goto cleanup; - -@@ -4000,6 +4086,8 @@ libxlDomainSetAutostart(virDomainPtr dom - if (!(vm = libxlDomObjFromDomain(dom))) - goto cleanup; - -+ LIBXL_CHECK_DOM0_GOTO(vm->def->name, cleanup); -+ - if (virDomainSetAutostartEnsureACL(dom->conn, vm->def) < 0) - goto cleanup; - -@@ -4294,6 +4382,8 @@ libxlDomainOpenConsole(virDomainPtr dom, - if (!(vm = libxlDomObjFromDomain(dom))) - goto cleanup; - -+ LIBXL_CHECK_DOM0_GOTO(vm->def->name, cleanup); -+ - if (virDomainOpenConsoleEnsureACL(dom->conn, vm->def) < 0) - goto cleanup; - -@@ -4817,6 +4907,12 @@ libxlDomainMigrateBegin3Params(virDomain - if (!(vm = libxlDomObjFromDomain(domain))) - return NULL; - -+ if (STREQ_NULLABLE(vm->def->name, "Domain-0")) { -+ virReportError(VIR_ERR_OPERATION_INVALID, "%s", -+ _("Domain-0 cannot be migrated")); -+ return NULL; -+ } -+ - if (virDomainMigrateBegin3ParamsEnsureACL(domain->conn, vm->def) < 0) { - virObjectUnlock(vm); - return NULL; diff --git a/4ffb21c8-libxl-dom0-state-fix.patch b/4ffb21c8-libxl-dom0-state-fix.patch deleted file mode 100644 index 26429ef..0000000 --- a/4ffb21c8-libxl-dom0-state-fix.patch +++ /dev/null @@ -1,26 +0,0 @@ -commit 4ffb21c89a6b9ae2b4bfd2999c24b01433e360a9 -Author: Jim Fehlig -Date: Thu Jul 9 15:16:18 2015 -0600 - - libxl: set dom0 state to running - - Commit 45697fe5 added dom0 to driver->domains, but missed - setting its state to 'running' - - $ virsh list - Id Name State - ---------------------------------------------------- - 0 Domain-0 shut off - -Index: libvirt-1.2.17/src/libxl/libxl_driver.c -=================================================================== ---- libvirt-1.2.17.orig/src/libxl/libxl_driver.c -+++ libvirt-1.2.17/src/libxl/libxl_driver.c -@@ -549,6 +549,7 @@ libxlAddDom0(libxlDriverPrivatePtr drive - - def = NULL; - -+ virDomainObjSetState(vm, VIR_DOMAIN_RUNNING, VIR_DOMAIN_RUNNING_BOOTED); - vm->def->vcpus = d_info.vcpu_online; - vm->def->maxvcpus = d_info.vcpu_max_id + 1; - vm->def->mem.cur_balloon = d_info.current_memkb; diff --git a/61dab0f-virt-aa-helper-renaming.patch b/61dab0f-virt-aa-helper-renaming.patch deleted file mode 100644 index 5015952..0000000 --- a/61dab0f-virt-aa-helper-renaming.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 61dab0f74ef79d034542bb77921e69fbbab3cf41 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= -Date: Thu, 25 Jun 2015 13:01:40 +0200 -Subject: [PATCH 3/5] virt-aa-helper: rename ctl->hvm to ctl->os - -ctl->hvm contains os.type string value, change the name to reflect it. ---- - src/security/virt-aa-helper.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/src/security/virt-aa-helper.c b/src/security/virt-aa-helper.c -index f8a9cf2..604fb93 100644 ---- a/src/security/virt-aa-helper.c -+++ b/src/security/virt-aa-helper.c -@@ -73,7 +73,7 @@ typedef struct { - virDomainDefPtr def; /* VM definition */ - virCapsPtr caps; /* VM capabilities */ - virDomainXMLOptionPtr xmlopt; /* XML parser data */ -- char *hvm; /* type of hypervisor (eg hvm, xen) */ -+ char *os; /* type of os (eg hvm, xen, exe) */ - virArch arch; /* machine architecture */ - char *newfile; /* newly added file */ - bool append; /* append to .files instead of rewrite */ -@@ -89,7 +89,7 @@ vahDeinit(vahControl * ctl) - virObjectUnref(ctl->caps); - virObjectUnref(ctl->xmlopt); - VIR_FREE(ctl->files); -- VIR_FREE(ctl->hvm); -+ VIR_FREE(ctl->os); - VIR_FREE(ctl->newfile); - - return 0; -@@ -641,7 +641,7 @@ verify_xpath_context(xmlXPathContextPtr ctxt) - - /* - * Parse the xml we received to fill in the following: -- * ctl->hvm -+ * ctl->os - * ctl->arch - * - * These are suitable for setting up a virCapsPtr -@@ -668,8 +668,8 @@ caps_mockup(vahControl * ctl, const char *xmlStr) - if (verify_xpath_context(ctxt) != 0) - goto cleanup; - -- ctl->hvm = virXPathString("string(./os/type[1])", ctxt); -- if (!ctl->hvm) { -+ ctl->os = virXPathString("string(./os/type[1])", ctxt); -+ if (!ctl->os) { - vah_error(ctl, 0, _("os.type is not defined")); - goto cleanup; - } -@@ -714,7 +714,7 @@ get_definition(vahControl * ctl, const char *xmlStr) - goto exit; - } - -- if ((ostype = virDomainOSTypeFromString(ctl->hvm)) < 0) { -+ if ((ostype = virDomainOSTypeFromString(ctl->os)) < 0) { - vah_error(ctl, 0, _("unknown OS type")); - goto exit; - } --- -2.1.4 - diff --git a/a55a5e7-virt-aa-helper-log.patch b/a55a5e7-virt-aa-helper-log.patch deleted file mode 100644 index eb6cd46..0000000 --- a/a55a5e7-virt-aa-helper-log.patch +++ /dev/null @@ -1,53 +0,0 @@ -From a55a5e7cfed57223820478da89422756121fb37c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= -Date: Thu, 25 Jun 2015 10:36:52 +0200 -Subject: [PATCH 2/5] Get more libvirt errors from virt-aa-helper - -Initializing libvirt log in virt-aa-helper and getting it to output -libvirt log to stderr. This will help debugging problems happening in -libvirt functions called from within virt-aa-helper ---- - src/security/security_apparmor.c | 4 ++++ - src/security/virt-aa-helper.c | 4 ++++ - 2 files changed, 8 insertions(+) - -diff --git a/src/security/security_apparmor.c b/src/security/security_apparmor.c -index 4134a17..16b8f87 100644 ---- a/src/security/security_apparmor.c -+++ b/src/security/security_apparmor.c -@@ -196,6 +196,10 @@ load_profile(virSecurityManagerPtr mgr, - } - } - -+ virCommandAddEnvFormat(cmd, -+ "LIBVIRT_LOG_OUTPUTS=%d:stderr", -+ virLogGetDefaultPriority()); -+ - virCommandSetInputBuffer(cmd, xml); - rc = virCommandRun(cmd, NULL); - -diff --git a/src/security/virt-aa-helper.c b/src/security/virt-aa-helper.c -index 18454c8..f8a9cf2 100644 ---- a/src/security/virt-aa-helper.c -+++ b/src/security/virt-aa-helper.c -@@ -41,6 +41,7 @@ - #include "virbuffer.h" - #include "viralloc.h" - #include "vircommand.h" -+#include "virlog.h" - - #include "security_driver.h" - #include "security_apparmor.h" -@@ -1272,6 +1273,9 @@ main(int argc, char **argv) - exit(EXIT_FAILURE); - } - -+ /* Initialize the log system */ -+ virLogSetFromEnv(); -+ - /* clear the environment */ - environ = NULL; - if (setenv("PATH", "/sbin:/usr/sbin", 1) != 0) --- -2.1.4 - diff --git a/apparmor-fixes.patch b/apparmor-fixes.patch index 3a458aa..b5279b6 100644 --- a/apparmor-fixes.patch +++ b/apparmor-fixes.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.2.17/examples/apparmor/libvirt-qemu +Index: libvirt-1.2.18/examples/apparmor/libvirt-qemu =================================================================== ---- libvirt-1.2.17.orig/examples/apparmor/libvirt-qemu -+++ libvirt-1.2.17/examples/apparmor/libvirt-qemu +--- libvirt-1.2.18.orig/examples/apparmor/libvirt-qemu ++++ libvirt-1.2.18/examples/apparmor/libvirt-qemu @@ -124,6 +124,9 @@ # for restore /bin/bash rmix, diff --git a/apparmor-no-mount.patch b/apparmor-no-mount.patch index 9399a21..d84f861 100644 --- a/apparmor-no-mount.patch +++ b/apparmor-no-mount.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.2.17/examples/apparmor/libvirt-lxc +Index: libvirt-1.2.18/examples/apparmor/libvirt-lxc =================================================================== ---- libvirt-1.2.17.orig/examples/apparmor/libvirt-lxc -+++ libvirt-1.2.17/examples/apparmor/libvirt-lxc +--- libvirt-1.2.18.orig/examples/apparmor/libvirt-lxc ++++ libvirt-1.2.18/examples/apparmor/libvirt-lxc @@ -2,39 +2,15 @@ #include diff --git a/blockcopy-check-dst-identical-device.patch b/blockcopy-check-dst-identical-device.patch index d17ca75..4eb74ce 100644 --- a/blockcopy-check-dst-identical-device.patch +++ b/blockcopy-check-dst-identical-device.patch @@ -11,11 +11,11 @@ Signed-off-by: Chunyan Liu src/qemu/qemu_driver.c | 7 +++++++ 1 file changed, 7 insertions(+) -Index: libvirt-1.2.17/src/qemu/qemu_driver.c +Index: libvirt-1.2.18/src/qemu/qemu_driver.c =================================================================== ---- libvirt-1.2.17.orig/src/qemu/qemu_driver.c -+++ libvirt-1.2.17/src/qemu/qemu_driver.c -@@ -16684,6 +16684,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt +--- libvirt-1.2.18.orig/src/qemu/qemu_driver.c ++++ libvirt-1.2.18/src/qemu/qemu_driver.c +@@ -16662,6 +16662,15 @@ qemuDomainBlockCopyCommon(virDomainObjPt _("non-file destination not supported yet")); goto endjob; } diff --git a/disable-virCgroupGetPercpuStats-test.patch b/disable-virCgroupGetPercpuStats-test.patch index 151c8b6..5392999 100644 --- a/disable-virCgroupGetPercpuStats-test.patch +++ b/disable-virCgroupGetPercpuStats-test.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.2.17/tests/vircgrouptest.c +Index: libvirt-1.2.18/tests/vircgrouptest.c =================================================================== ---- libvirt-1.2.17.orig/tests/vircgrouptest.c -+++ libvirt-1.2.17/tests/vircgrouptest.c +--- libvirt-1.2.18.orig/tests/vircgrouptest.c ++++ libvirt-1.2.18/tests/vircgrouptest.c @@ -34,7 +34,6 @@ # include "virfile.h" # include "virbuffer.h" @@ -10,7 +10,7 @@ Index: libvirt-1.2.17/tests/vircgrouptest.c # define VIR_FROM_THIS VIR_FROM_NONE -@@ -607,91 +606,6 @@ static int testCgroupControllerAvailable +@@ -607,90 +606,6 @@ static int testCgroupControllerAvailable return ret; } @@ -56,8 +56,8 @@ Index: libvirt-1.2.17/tests/vircgrouptest.c - goto cleanup; - } - -- if (nodeGetCPUCount() != EXPECTED_NCPUS) { -- fprintf(stderr, "Unexpected: nodeGetCPUCount() yields: %d\n", nodeGetCPUCount()); +- if (nodeGetCPUCount(NULL) != EXPECTED_NCPUS) { +- fprintf(stderr, "Unexpected: nodeGetCPUCount() yields: %d\n", nodeGetCPUCount(NULL)); - goto cleanup; - } - @@ -98,11 +98,10 @@ Index: libvirt-1.2.17/tests/vircgrouptest.c - VIR_FREE(params); - return ret; -} -- + static int testCgroupGetMemoryUsage(const void *args ATTRIBUTE_UNUSED) { - virCgroupPtr cgroup = NULL; -@@ -919,9 +833,6 @@ mymain(void) +@@ -919,9 +834,6 @@ mymain(void) if (virtTestRun("virCgroupGetMemoryUsage works", testCgroupGetMemoryUsage, NULL) < 0) ret = -1; diff --git a/e44bcae-virt-aa-helper-trailing-slash.patch b/e44bcae-virt-aa-helper-trailing-slash.patch deleted file mode 100644 index a555551..0000000 --- a/e44bcae-virt-aa-helper-trailing-slash.patch +++ /dev/null @@ -1,28 +0,0 @@ -From e44bcae9f014946d66fad1164080a4e251197f19 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= -Date: Wed, 24 Jun 2015 09:56:04 +0200 -Subject: [PATCH 1/5] virt-aa-helper: fix rules for paths with trailing slash - -Rules generated for a path like '/' were having '//' which isn't -correct for apparmor. Make virt-aa-helper smarter to avoid these. ---- - src/security/virt-aa-helper.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/security/virt-aa-helper.c b/src/security/virt-aa-helper.c -index 4440552..18454c8 100644 ---- a/src/security/virt-aa-helper.c -+++ b/src/security/virt-aa-helper.c -@@ -795,6 +795,9 @@ vah_add_path(virBufferPtr buf, const char *path, const char *perms, bool recursi - goto cleanup; - } - -+ if (tmp[strlen(tmp) - 1] == '/') -+ tmp[strlen(tmp) - 1] = '\0'; -+ - virBufferAsprintf(buf, " \"%s%s\" %s,\n", tmp, recursive ? "/**" : "", perms); - if (readonly) { - virBufferAddLit(buf, " # don't audit writes to readonly files\n"); --- -2.1.4 - diff --git a/e9c27344-libxl-fix-virDomainObj-state.patch b/e9c27344-libxl-fix-virDomainObj-state.patch deleted file mode 100644 index 5bc7572..0000000 --- a/e9c27344-libxl-fix-virDomainObj-state.patch +++ /dev/null @@ -1,232 +0,0 @@ -commit e9c2734441af0065c69fc1317965a6dd6c7f14e3 -Author: Jim Fehlig -Date: Tue Jul 7 12:29:24 2015 -0600 - - libxl: rework setting the state of virDomainObj - - Set the state of virDomainObj in the functions that - actually change the domain state, instead of the generic - libxlDomainCleanup function. This approach gives functions - calling libxlDomainCleanup more flexibility wrt when and - how they change virDomainObj state via virDomainObjSetState. - - The prior approach of calling virDomainObjSetState in - libxlDomainCleanup resulted in the following incorrect - coding pattern in the various functions that change - domain state - - libxlDomain - call libxl function to do state transition - emit lifecycle event - libxlDomainCleanup - virDomainObjSetState - - Once simple manifestation of this bug is seeing a domain - running in virt-manager after selecting the shutdown button, - even after the domain has long shutdown. - -Index: libvirt-1.2.17/src/libxl/libxl_domain.c -=================================================================== ---- libvirt-1.2.17.orig/src/libxl/libxl_domain.c -+++ libvirt-1.2.17/src/libxl/libxl_domain.c -@@ -397,7 +397,6 @@ libxlDomainShutdownThread(void *opaque) - libxlDriverPrivatePtr driver = shutdown_info->driver; - virObjectEventPtr dom_event = NULL; - libxl_shutdown_reason xl_reason = ev->u.domain_shutdown.shutdown_reason; -- virDomainShutoffReason reason = VIR_DOMAIN_SHUTOFF_SHUTDOWN; - libxlDriverConfigPtr cfg; - - cfg = libxlDriverConfigGet(driver); -@@ -406,12 +405,14 @@ libxlDomainShutdownThread(void *opaque) - goto cleanup; - - if (xl_reason == LIBXL_SHUTDOWN_REASON_POWEROFF) { -+ virDomainObjSetState(vm, VIR_DOMAIN_SHUTOFF, -+ VIR_DOMAIN_SHUTOFF_SHUTDOWN); -+ - dom_event = virDomainEventLifecycleNewFromObj(vm, - VIR_DOMAIN_EVENT_STOPPED, - VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN); - switch ((virDomainLifecycleAction) vm->def->onPoweroff) { - case VIR_DOMAIN_LIFECYCLE_DESTROY: -- reason = VIR_DOMAIN_SHUTOFF_SHUTDOWN; - goto destroy; - case VIR_DOMAIN_LIFECYCLE_RESTART: - case VIR_DOMAIN_LIFECYCLE_RESTART_RENAME: -@@ -421,12 +422,14 @@ libxlDomainShutdownThread(void *opaque) - goto endjob; - } - } else if (xl_reason == LIBXL_SHUTDOWN_REASON_CRASH) { -+ virDomainObjSetState(vm, VIR_DOMAIN_SHUTOFF, -+ VIR_DOMAIN_SHUTOFF_CRASHED); -+ - dom_event = virDomainEventLifecycleNewFromObj(vm, - VIR_DOMAIN_EVENT_STOPPED, - VIR_DOMAIN_EVENT_STOPPED_CRASHED); - switch ((virDomainLifecycleCrashAction) vm->def->onCrash) { - case VIR_DOMAIN_LIFECYCLE_CRASH_DESTROY: -- reason = VIR_DOMAIN_SHUTOFF_CRASHED; - goto destroy; - case VIR_DOMAIN_LIFECYCLE_CRASH_RESTART: - case VIR_DOMAIN_LIFECYCLE_CRASH_RESTART_RENAME: -@@ -442,12 +445,14 @@ libxlDomainShutdownThread(void *opaque) - goto restart; - } - } else if (xl_reason == LIBXL_SHUTDOWN_REASON_REBOOT) { -+ virDomainObjSetState(vm, VIR_DOMAIN_SHUTOFF, -+ VIR_DOMAIN_SHUTOFF_SHUTDOWN); -+ - dom_event = virDomainEventLifecycleNewFromObj(vm, - VIR_DOMAIN_EVENT_STOPPED, - VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN); - switch ((virDomainLifecycleAction) vm->def->onReboot) { - case VIR_DOMAIN_LIFECYCLE_DESTROY: -- reason = VIR_DOMAIN_SHUTOFF_SHUTDOWN; - goto destroy; - case VIR_DOMAIN_LIFECYCLE_RESTART: - case VIR_DOMAIN_LIFECYCLE_RESTART_RENAME: -@@ -467,7 +472,7 @@ libxlDomainShutdownThread(void *opaque) - dom_event = NULL; - } - libxlDomainDestroyInternal(driver, vm); -- libxlDomainCleanup(driver, vm, reason); -+ libxlDomainCleanup(driver, vm); - if (!vm->persistent) - virDomainObjListRemove(driver->domains, vm); - -@@ -479,7 +484,7 @@ libxlDomainShutdownThread(void *opaque) - dom_event = NULL; - } - libxlDomainDestroyInternal(driver, vm); -- libxlDomainCleanup(driver, vm, VIR_DOMAIN_SHUTOFF_SHUTDOWN); -+ libxlDomainCleanup(driver, vm); - if (libxlDomainStart(driver, vm, false, -1) < 0) { - virErrorPtr err = virGetLastError(); - VIR_ERROR(_("Failed to restart VM '%s': %s"), -@@ -685,8 +690,7 @@ libxlDomainDestroyInternal(libxlDriverPr - */ - void - libxlDomainCleanup(libxlDriverPrivatePtr driver, -- virDomainObjPtr vm, -- virDomainShutoffReason reason) -+ virDomainObjPtr vm) - { - libxlDomainObjPrivatePtr priv = vm->privateData; - libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver); -@@ -709,9 +713,6 @@ libxlDomainCleanup(libxlDriverPrivatePtr - priv->deathW = NULL; - } - -- if (vm->persistent) -- virDomainObjSetState(vm, VIR_DOMAIN_SHUTOFF, reason); -- - if (virAtomicIntDecAndTest(&driver->nactive) && driver->inhibitCallback) - driver->inhibitCallback(false, driver->inhibitOpaque); - -Index: libvirt-1.2.17/src/libxl/libxl_domain.h -=================================================================== ---- libvirt-1.2.17.orig/src/libxl/libxl_domain.h -+++ libvirt-1.2.17/src/libxl/libxl_domain.h -@@ -110,8 +110,7 @@ libxlDomainDestroyInternal(libxlDriverPr - - void - libxlDomainCleanup(libxlDriverPrivatePtr driver, -- virDomainObjPtr vm, -- virDomainShutoffReason reason); -+ virDomainObjPtr vm); - - /* - * Note: Xen 4.3 removed the const from the event handler signature. -Index: libvirt-1.2.17/src/libxl/libxl_driver.c -=================================================================== ---- libvirt-1.2.17.orig/src/libxl/libxl_driver.c -+++ libvirt-1.2.17/src/libxl/libxl_driver.c -@@ -392,7 +392,7 @@ libxlReconnectDomain(virDomainObjPtr vm, - return 0; - - out: -- libxlDomainCleanup(driver, vm, VIR_DOMAIN_SHUTOFF_UNKNOWN); -+ libxlDomainCleanup(driver, vm); - if (!vm->persistent) - virDomainObjListRemoveLocked(driver->domains, vm); - else -@@ -1346,16 +1346,19 @@ libxlDomainDestroyFlags(virDomainPtr dom - goto endjob; - } - -- event = virDomainEventLifecycleNewFromObj(vm, VIR_DOMAIN_EVENT_STOPPED, -- VIR_DOMAIN_EVENT_STOPPED_DESTROYED); -- - if (libxlDomainDestroyInternal(driver, vm) < 0) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("Failed to destroy domain '%d'"), vm->def->id); - goto endjob; - } - -- libxlDomainCleanup(driver, vm, VIR_DOMAIN_SHUTOFF_DESTROYED); -+ virDomainObjSetState(vm, VIR_DOMAIN_SHUTOFF, -+ VIR_DOMAIN_SHUTOFF_DESTROYED); -+ -+ event = virDomainEventLifecycleNewFromObj(vm, VIR_DOMAIN_EVENT_STOPPED, -+ VIR_DOMAIN_EVENT_STOPPED_DESTROYED); -+ -+ libxlDomainCleanup(driver, vm); - if (!vm->persistent) - virDomainObjListRemove(driver->domains, vm); - -@@ -1689,6 +1692,9 @@ libxlDoDomainSave(libxlDriverPrivatePtr - goto cleanup; - } - -+ virDomainObjSetState(vm, VIR_DOMAIN_SHUTOFF, -+ VIR_DOMAIN_SHUTOFF_SAVED); -+ - event = virDomainEventLifecycleNewFromObj(vm, VIR_DOMAIN_EVENT_STOPPED, - VIR_DOMAIN_EVENT_STOPPED_SAVED); - -@@ -1698,7 +1704,7 @@ libxlDoDomainSave(libxlDriverPrivatePtr - goto cleanup; - } - -- libxlDomainCleanup(driver, vm, VIR_DOMAIN_SHUTOFF_SAVED); -+ libxlDomainCleanup(driver, vm); - vm->hasManagedSave = true; - ret = 0; - -@@ -1909,7 +1915,9 @@ libxlDomainCoreDump(virDomainPtr dom, co - goto unpause; - } - -- libxlDomainCleanup(driver, vm, VIR_DOMAIN_SHUTOFF_CRASHED); -+ libxlDomainCleanup(driver, vm); -+ virDomainObjSetState(vm, VIR_DOMAIN_SHUTOFF, -+ VIR_DOMAIN_SHUTOFF_CRASHED); - event = virDomainEventLifecycleNewFromObj(vm, VIR_DOMAIN_EVENT_STOPPED, - VIR_DOMAIN_EVENT_STOPPED_CRASHED); - if (!vm->persistent) -Index: libvirt-1.2.17/src/libxl/libxl_migration.c -=================================================================== ---- libvirt-1.2.17.orig/src/libxl/libxl_migration.c -+++ libvirt-1.2.17/src/libxl/libxl_migration.c -@@ -585,7 +585,9 @@ libxlDomainMigrationFinish(virConnectPtr - cleanup: - if (dom == NULL) { - libxlDomainDestroyInternal(driver, vm); -- libxlDomainCleanup(driver, vm, VIR_DOMAIN_SHUTOFF_FAILED); -+ libxlDomainCleanup(driver, vm); -+ virDomainObjSetState(vm, VIR_DOMAIN_SHUTOFF, -+ VIR_DOMAIN_SHUTOFF_FAILED); - event = virDomainEventLifecycleNewFromObj(vm, VIR_DOMAIN_EVENT_STOPPED, - VIR_DOMAIN_EVENT_STOPPED_FAILED); - if (!vm->persistent) -@@ -624,7 +626,9 @@ libxlDomainMigrationConfirm(libxlDriverP - } - - libxlDomainDestroyInternal(driver, vm); -- libxlDomainCleanup(driver, vm, VIR_DOMAIN_SHUTOFF_MIGRATED); -+ libxlDomainCleanup(driver, vm); -+ virDomainObjSetState(vm, VIR_DOMAIN_SHUTOFF, -+ VIR_DOMAIN_SHUTOFF_MIGRATED); - event = virDomainEventLifecycleNewFromObj(vm, VIR_DOMAIN_EVENT_STOPPED, - VIR_DOMAIN_EVENT_STOPPED_MIGRATED); - diff --git a/libvirt-1.2.17.tar.gz b/libvirt-1.2.17.tar.gz deleted file mode 100644 index b7fa357..0000000 --- a/libvirt-1.2.17.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e07eaf20b0590fae05ba3b53ad4dac3e5fbd771437563cc78b692f23ddd02fad -size 29320317 diff --git a/libvirt-1.2.17.tar.gz.asc b/libvirt-1.2.17.tar.gz.asc deleted file mode 100644 index 24e8708..0000000 --- a/libvirt-1.2.17.tar.gz.asc +++ /dev/null @@ -1,7 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1 - -iEYEABECAAYFAlWUy+AACgkQRga4pd6VvB9AhACfT/hThYm7biG8nwcDkOHEuS8B -7AEAn1v3VdAwinxah46RWLiDdVtScU84 -=BcWI ------END PGP SIGNATURE----- diff --git a/libvirt-1.2.18.tar.gz b/libvirt-1.2.18.tar.gz new file mode 100644 index 0000000..ac7d3e4 --- /dev/null +++ b/libvirt-1.2.18.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d5a5ff18af4cced21fed986d28fa0a21b782d256920326bf0ff1c7731eeb6ade +size 29412554 diff --git a/libvirt-1.2.18.tar.gz.asc b/libvirt-1.2.18.tar.gz.asc new file mode 100644 index 0000000..bb8388d --- /dev/null +++ b/libvirt-1.2.18.tar.gz.asc @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 + +iEYEABECAAYFAlW/M8wACgkQRga4pd6VvB9S0ACfV3OG4q+aGh9oXodFnMy4PcBn +c0gAnjmMTEA/O8vIczW1a99qpM/QphO+ +=jw1y +-----END PGP SIGNATURE----- diff --git a/libvirt-guests-init-script.patch b/libvirt-guests-init-script.patch index 053b45f..1ae3c8a 100644 --- a/libvirt-guests-init-script.patch +++ b/libvirt-guests-init-script.patch @@ -1,9 +1,9 @@ Adjust libvirt-guests init files to conform to SUSE standards -Index: libvirt-1.2.17/tools/libvirt-guests.init.in +Index: libvirt-1.2.18/tools/libvirt-guests.init.in =================================================================== ---- libvirt-1.2.17.orig/tools/libvirt-guests.init.in -+++ libvirt-1.2.17/tools/libvirt-guests.init.in +--- libvirt-1.2.18.orig/tools/libvirt-guests.init.in ++++ libvirt-1.2.18/tools/libvirt-guests.init.in @@ -3,15 +3,15 @@ # the following is the LSB init header # @@ -28,10 +28,10 @@ Index: libvirt-1.2.17/tools/libvirt-guests.init.in ### END INIT INFO # the following is chkconfig init header -Index: libvirt-1.2.17/tools/libvirt-guests.sh.in +Index: libvirt-1.2.18/tools/libvirt-guests.sh.in =================================================================== ---- libvirt-1.2.17.orig/tools/libvirt-guests.sh.in -+++ libvirt-1.2.17/tools/libvirt-guests.sh.in +--- libvirt-1.2.18.orig/tools/libvirt-guests.sh.in ++++ libvirt-1.2.18/tools/libvirt-guests.sh.in @@ -16,14 +16,13 @@ # License along with this library. If not, see # . @@ -191,10 +191,10 @@ Index: libvirt-1.2.17/tools/libvirt-guests.sh.in esac -exit $RETVAL +rc_exit -Index: libvirt-1.2.17/tools/libvirt-guests.sysconf +Index: libvirt-1.2.18/tools/libvirt-guests.sysconf =================================================================== ---- libvirt-1.2.17.orig/tools/libvirt-guests.sysconf -+++ libvirt-1.2.17/tools/libvirt-guests.sysconf +--- libvirt-1.2.18.orig/tools/libvirt-guests.sysconf ++++ libvirt-1.2.18/tools/libvirt-guests.sysconf @@ -1,19 +1,29 @@ +## Path: System/Virtualization/libvirt-guests + diff --git a/libvirt-power8-models.patch b/libvirt-power8-models.patch index 6f795ca..2c57fd7 100644 --- a/libvirt-power8-models.patch +++ b/libvirt-power8-models.patch @@ -1,8 +1,8 @@ -Index: libvirt-1.2.17/src/cpu/cpu_map.xml +Index: libvirt-1.2.18/src/cpu/cpu_map.xml =================================================================== ---- libvirt-1.2.17.orig/src/cpu/cpu_map.xml -+++ libvirt-1.2.17/src/cpu/cpu_map.xml -@@ -668,6 +668,16 @@ +--- libvirt-1.2.18.orig/src/cpu/cpu_map.xml ++++ libvirt-1.2.18/src/cpu/cpu_map.xml +@@ -1413,6 +1413,16 @@ @@ -16,6 +16,6 @@ Index: libvirt-1.2.17/src/cpu/cpu_map.xml + + + - + diff --git a/libvirt-suse-netcontrol.patch b/libvirt-suse-netcontrol.patch index 57e48e9..10ad151 100644 --- a/libvirt-suse-netcontrol.patch +++ b/libvirt-suse-netcontrol.patch @@ -1,8 +1,8 @@ -Index: libvirt-1.2.17/configure.ac +Index: libvirt-1.2.18/configure.ac =================================================================== ---- libvirt-1.2.17.orig/configure.ac -+++ libvirt-1.2.17/configure.ac -@@ -241,6 +241,7 @@ LIBVIRT_CHECK_FUSE +--- libvirt-1.2.18.orig/configure.ac ++++ libvirt-1.2.18/configure.ac +@@ -242,6 +242,7 @@ LIBVIRT_CHECK_FUSE LIBVIRT_CHECK_GLUSTER LIBVIRT_CHECK_HAL LIBVIRT_CHECK_NETCF @@ -10,7 +10,7 @@ Index: libvirt-1.2.17/configure.ac LIBVIRT_CHECK_NUMACTL LIBVIRT_CHECK_OPENWSMAN LIBVIRT_CHECK_PCIACCESS -@@ -2492,11 +2493,12 @@ if test "$with_libvirtd" = "no" ; then +@@ -2486,11 +2487,12 @@ if test "$with_libvirtd" = "no" ; then with_interface=no fi @@ -26,7 +26,7 @@ Index: libvirt-1.2.17/configure.ac esac if test "$with_interface" = "yes" ; then -@@ -2885,6 +2887,7 @@ LIBVIRT_RESULT_FUSE +@@ -2879,6 +2881,7 @@ LIBVIRT_RESULT_FUSE LIBVIRT_RESULT_GLUSTER LIBVIRT_RESULT_HAL LIBVIRT_RESULT_NETCF @@ -34,10 +34,10 @@ Index: libvirt-1.2.17/configure.ac LIBVIRT_RESULT_NUMACTL LIBVIRT_RESULT_OPENWSMAN LIBVIRT_RESULT_PCIACCESS -Index: libvirt-1.2.17/src/Makefile.am +Index: libvirt-1.2.18/src/Makefile.am =================================================================== ---- libvirt-1.2.17.orig/src/Makefile.am -+++ libvirt-1.2.17/src/Makefile.am +--- libvirt-1.2.18.orig/src/Makefile.am ++++ libvirt-1.2.18/src/Makefile.am @@ -872,6 +872,10 @@ if WITH_NETCF INTERFACE_DRIVER_SOURCES += \ interface/interface_backend_netcf.c @@ -60,10 +60,10 @@ Index: libvirt-1.2.17/src/Makefile.am if WITH_UDEV libvirt_driver_interface_la_CFLAGS += $(UDEV_CFLAGS) libvirt_driver_interface_la_LIBADD += $(UDEV_LIBS) -Index: libvirt-1.2.17/tools/virsh.c +Index: libvirt-1.2.18/tools/virsh.c =================================================================== ---- libvirt-1.2.17.orig/tools/virsh.c -+++ libvirt-1.2.17/tools/virsh.c +--- libvirt-1.2.18.orig/tools/virsh.c ++++ libvirt-1.2.18/tools/virsh.c @@ -3383,6 +3383,8 @@ vshShowVersion(vshControl *ctl ATTRIBUTE vshPrint(ctl, " Interface"); # if defined(WITH_NETCF) @@ -73,10 +73,10 @@ Index: libvirt-1.2.17/tools/virsh.c # elif defined(WITH_UDEV) vshPrint(ctl, " udev"); # endif -Index: libvirt-1.2.17/src/interface/interface_backend_netcf.c +Index: libvirt-1.2.18/src/interface/interface_backend_netcf.c =================================================================== ---- libvirt-1.2.17.orig/src/interface/interface_backend_netcf.c -+++ libvirt-1.2.17/src/interface/interface_backend_netcf.c +--- libvirt-1.2.18.orig/src/interface/interface_backend_netcf.c ++++ libvirt-1.2.18/src/interface/interface_backend_netcf.c @@ -23,7 +23,12 @@ #include @@ -160,10 +160,10 @@ Index: libvirt-1.2.17/src/interface/interface_backend_netcf.c if (virSetSharedInterfaceDriver(&interfaceDriver) < 0) return -1; if (virRegisterStateDriver(&interfaceStateDriver) < 0) -Index: libvirt-1.2.17/src/interface/interface_driver.c +Index: libvirt-1.2.18/src/interface/interface_driver.c =================================================================== ---- libvirt-1.2.17.orig/src/interface/interface_driver.c -+++ libvirt-1.2.17/src/interface/interface_driver.c +--- libvirt-1.2.18.orig/src/interface/interface_driver.c ++++ libvirt-1.2.18/src/interface/interface_driver.c @@ -30,8 +30,15 @@ interfaceRegister(void) if (netcfIfaceRegister() == 0) return 0; @@ -181,10 +181,10 @@ Index: libvirt-1.2.17/src/interface/interface_driver.c if (udevIfaceRegister() == 0) return 0; #endif /* WITH_UDEV */ -Index: libvirt-1.2.17/m4/virt-netcontrol.m4 +Index: libvirt-1.2.18/m4/virt-netcontrol.m4 =================================================================== --- /dev/null -+++ libvirt-1.2.17/m4/virt-netcontrol.m4 ++++ libvirt-1.2.18/m4/virt-netcontrol.m4 @@ -0,0 +1,35 @@ +dnl The libnetcontrol library +dnl diff --git a/libvirt.changes b/libvirt.changes index e196cdd..fb35fe0 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Mon Aug 3 23:32:39 UTC 2015 - jfehlig@suse.com + +- Update to libvirt 1.2.18 + - libxl: support dom0 + - Many incremental improvements and bug fixes, see + http://libvirt.org/news.html + - Dropped upstream patches: + e44bcae-virt-aa-helper-trailing-slash.patch, + a55a5e7-virt-aa-helper-log.patch, + 61dab0f-virt-aa-helper-renaming.patch, + 24f3c2f-virt-aa-helper-fix-caps.patch, + 45697fe5-libxl-support-dom0.patch, + e9c27344-libxl-fix-virDomainObj-state.patch, + 4ffb21c8-libxl-dom0-state-fix.patch, + qemu-nbd-cleanup-fix.patch + ------------------------------------------------------------------- Fri Jul 31 18:51:38 UTC 2015 - jfehlig@suse.com diff --git a/libvirt.spec b/libvirt.spec index e53f6c1..320e3e2 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -240,7 +240,7 @@ Name: libvirt Url: http://libvirt.org/ -Version: 1.2.17 +Version: 1.2.18 Release: 0 Summary: Library providing a simple virtualization API License: LGPL-2.1+ @@ -446,13 +446,6 @@ Source3: libvirtd.init Source4: libvirtd-relocation-server.fw Source99: baselibs.conf # Upstream patches -Patch0: e44bcae-virt-aa-helper-trailing-slash.patch -Patch1: a55a5e7-virt-aa-helper-log.patch -Patch2: 61dab0f-virt-aa-helper-renaming.patch -Patch3: 24f3c2f-virt-aa-helper-fix-caps.patch -Patch4: 45697fe5-libxl-support-dom0.patch -Patch5: e9c27344-libxl-fix-virDomainObj-state.patch -Patch6: 4ffb21c8-libxl-dom0-state-fix.patch # Patches pending upstream review Patch100: 0003-libxl-fix-ref-counting-of-libxlMigrationDstArgs.patch Patch101: 0004-libxl-don-t-attempt-to-resume-domain-when-suspend-fa.patch @@ -476,7 +469,6 @@ Patch207: disable-virCgroupGetPercpuStats-test.patch Patch208: apparmor-no-mount.patch Patch209: qemu-apparmor-screenshot.patch Patch210: libvirt-suse-netcontrol.patch -Patch211: qemu-nbd-cleanup-fix.patch # SocketUser and SocketGroup settings were added to systemd.socket in # version 214. Patch the setting away in earlier systemd %if 0%{systemd_version} < 214 @@ -987,13 +979,6 @@ Provides a dissector for the libvirt RPC protocol to help debugging it. %prep %setup -q -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 %patch100 -p1 %patch101 -p1 %patch102 -p1 @@ -1013,7 +998,6 @@ Provides a dissector for the libvirt RPC protocol to help debugging it. %patch208 -p1 %patch209 -p1 %patch210 -p1 -%patch211 -p1 %if 0%{systemd_version} < 214 %patch300 -p1 %endif diff --git a/libvirtd-defaults.patch b/libvirtd-defaults.patch index 784a46c..b6b639d 100644 --- a/libvirtd-defaults.patch +++ b/libvirtd-defaults.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.2.17/daemon/libvirtd.conf +Index: libvirt-1.2.18/daemon/libvirtd.conf =================================================================== ---- libvirt-1.2.17.orig/daemon/libvirtd.conf -+++ libvirt-1.2.17/daemon/libvirtd.conf +--- libvirt-1.2.18.orig/daemon/libvirtd.conf ++++ libvirt-1.2.18/daemon/libvirtd.conf @@ -18,8 +18,8 @@ # It is necessary to setup a CA and issue server certificates before # using this capability. @@ -13,10 +13,10 @@ Index: libvirt-1.2.17/daemon/libvirtd.conf # Listen for unencrypted TCP connections on the public TCP/IP port. # NB, must pass the --listen flag to the libvirtd process for this to -Index: libvirt-1.2.17/daemon/libvirtd-config.c +Index: libvirt-1.2.18/daemon/libvirtd-config.c =================================================================== ---- libvirt-1.2.17.orig/daemon/libvirtd-config.c -+++ libvirt-1.2.17/daemon/libvirtd-config.c +--- libvirt-1.2.18.orig/daemon/libvirtd-config.c ++++ libvirt-1.2.18/daemon/libvirtd-config.c @@ -242,7 +242,7 @@ daemonConfigNew(bool privileged ATTRIBUT if (VIR_ALLOC(data) < 0) return NULL; @@ -26,10 +26,10 @@ Index: libvirt-1.2.17/daemon/libvirtd-config.c data->listen_tcp = 0; if (VIR_STRDUP(data->tls_port, LIBVIRTD_TLS_PORT) < 0 || -Index: libvirt-1.2.17/daemon/test_libvirtd.aug.in +Index: libvirt-1.2.18/daemon/test_libvirtd.aug.in =================================================================== ---- libvirt-1.2.17.orig/daemon/test_libvirtd.aug.in -+++ libvirt-1.2.17/daemon/test_libvirtd.aug.in +--- libvirt-1.2.18.orig/daemon/test_libvirtd.aug.in ++++ libvirt-1.2.18/daemon/test_libvirtd.aug.in @@ -2,7 +2,7 @@ module Test_libvirtd = ::CONFIG:: diff --git a/libvirtd-init-script.patch b/libvirtd-init-script.patch index 9ffab02..547e292 100644 --- a/libvirtd-init-script.patch +++ b/libvirtd-init-script.patch @@ -1,9 +1,9 @@ Adjust libvirtd sysconfig file to conform to SUSE standards -Index: libvirt-1.2.17/daemon/libvirtd.sysconf +Index: libvirt-1.2.18/daemon/libvirtd.sysconf =================================================================== ---- libvirt-1.2.17.orig/daemon/libvirtd.sysconf -+++ libvirt-1.2.17/daemon/libvirtd.sysconf +--- libvirt-1.2.18.orig/daemon/libvirtd.sysconf ++++ libvirt-1.2.18/daemon/libvirtd.sysconf @@ -1,16 +1,25 @@ +## Path: System/Virtualization/libvirt + diff --git a/libvirtd-systemd-socket.patch b/libvirtd-systemd-socket.patch index 138deec..5dcc962 100644 --- a/libvirtd-systemd-socket.patch +++ b/libvirtd-systemd-socket.patch @@ -9,10 +9,10 @@ as See bsc#933043 -Index: libvirt-1.2.17/daemon/libvirtd.socket.in +Index: libvirt-1.2.18/daemon/libvirtd.socket.in =================================================================== ---- libvirt-1.2.17.orig/daemon/libvirtd.socket.in -+++ libvirt-1.2.17/daemon/libvirtd.socket.in +--- libvirt-1.2.18.orig/daemon/libvirtd.socket.in ++++ libvirt-1.2.18/daemon/libvirtd.socket.in @@ -2,10 +2,8 @@ ListenStream=@runstatedir@/libvirt/libvirt-sock ListenStream=@runstatedir@/libvirt/libvirt-sock-ro diff --git a/ppc64le-canonical-name.patch b/ppc64le-canonical-name.patch index 59f76d9..66089ea 100644 --- a/ppc64le-canonical-name.patch +++ b/ppc64le-canonical-name.patch @@ -2,10 +2,10 @@ Canonicalize hostarch name ppc64le to ppc64 See bnc#894956 -Index: libvirt-1.2.17/src/util/virarch.c +Index: libvirt-1.2.18/src/util/virarch.c =================================================================== ---- libvirt-1.2.17.orig/src/util/virarch.c -+++ libvirt-1.2.17/src/util/virarch.c +--- libvirt-1.2.18.orig/src/util/virarch.c ++++ libvirt-1.2.18/src/util/virarch.c @@ -169,6 +169,8 @@ virArch virArchFromHost(void) arch = VIR_ARCH_I686; } else if (STREQ(ut.machine, "amd64")) { diff --git a/qemu-apparmor-screenshot.patch b/qemu-apparmor-screenshot.patch index a4f1e13..3bbef58 100644 --- a/qemu-apparmor-screenshot.patch +++ b/qemu-apparmor-screenshot.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.2.17/examples/apparmor/libvirt-qemu +Index: libvirt-1.2.18/examples/apparmor/libvirt-qemu =================================================================== ---- libvirt-1.2.17.orig/examples/apparmor/libvirt-qemu -+++ libvirt-1.2.17/examples/apparmor/libvirt-qemu +--- libvirt-1.2.18.orig/examples/apparmor/libvirt-qemu ++++ libvirt-1.2.18/examples/apparmor/libvirt-qemu @@ -133,6 +133,9 @@ /sys/bus/ r, /sys/class/ r, diff --git a/qemu-nbd-cleanup-fix.patch b/qemu-nbd-cleanup-fix.patch deleted file mode 100644 index bf675a2..0000000 --- a/qemu-nbd-cleanup-fix.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 1f17be07e9fbbae6fdba6842546ca86d51f84447 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?C=C3=A9dric=20Bosdonnat?= -Date: Thu, 9 Jul 2015 16:23:08 +0200 -Subject: [PATCH 5/5] Fix qemu-nbd cleanup crashes - -The virLXCControllerAppendNBDPids function didn't properly initialize -pids and npids. In case of failure it was crashing when freeing those. - -The nbd device pid file doesn't appear immediately after starting -qemu-nbd: adding a small loop to wait for it. ---- - src/lxc/lxc_controller.c | 19 +++++++++++++++++-- - 1 file changed, 17 insertions(+), 2 deletions(-) - -diff --git a/src/lxc/lxc_controller.c b/src/lxc/lxc_controller.c -index 828b8a8..78d3eee 100644 ---- a/src/lxc/lxc_controller.c -+++ b/src/lxc/lxc_controller.c -@@ -533,16 +533,31 @@ static int virLXCControllerAppendNBDPids(virLXCControllerPtr ctrl, - const char *dev) - { - char *pidpath = NULL; -- pid_t *pids; -- size_t npids; -+ pid_t *pids = NULL; -+ size_t npids = 0; - size_t i; - int ret = -1; -+ size_t loops = 0; - pid_t pid; - - if (!STRPREFIX(dev, "/dev/") || - virAsprintf(&pidpath, "/sys/devices/virtual/block/%s/pid", dev + 5) < 0) - goto cleanup; - -+ /* Wait for the pid file to appear */ -+ while (!virFileExists(pidpath)) { -+ /* wait for 100ms before checking again, but don't do it for ever */ -+ if (errno == ENOENT && loops < 10) { -+ usleep(100 * 1000); -+ loops++; -+ } else { -+ virReportSystemError(errno, -+ _("Cannot check NBD device %s pid"), -+ dev + 5); -+ goto cleanup; -+ } -+ } -+ - if (virPidFileReadPath(pidpath, &pid) < 0) - goto cleanup; - --- -2.1.4 - diff --git a/support-managed-pci-xen-driver.patch b/support-managed-pci-xen-driver.patch index ea6c0d1..63b1db5 100644 --- a/support-managed-pci-xen-driver.patch +++ b/support-managed-pci-xen-driver.patch @@ -8,10 +8,10 @@ Subject: [PATCH] support managed pci devices in xen driver src/xenxs/xen_xm.c | 28 +++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 15 deletions(-) -Index: libvirt-1.2.17/src/xenconfig/xen_common.c +Index: libvirt-1.2.18/src/xenconfig/xen_common.c =================================================================== ---- libvirt-1.2.17.orig/src/xenconfig/xen_common.c -+++ libvirt-1.2.17/src/xenconfig/xen_common.c +--- libvirt-1.2.18.orig/src/xenconfig/xen_common.c ++++ libvirt-1.2.18/src/xenconfig/xen_common.c @@ -403,6 +403,8 @@ xenParsePCI(virConfPtr conf, virDomainDe { virConfValuePtr list = virConfGetValue(conf, "pci"); @@ -66,10 +66,10 @@ Index: libvirt-1.2.17/src/xenconfig/xen_common.c hostdev->source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI; hostdev->source.subsys.u.pci.addr.domain = domainID; hostdev->source.subsys.u.pci.addr.bus = busID; -Index: libvirt-1.2.17/src/xenconfig/xen_sxpr.c +Index: libvirt-1.2.18/src/xenconfig/xen_sxpr.c =================================================================== ---- libvirt-1.2.17.orig/src/xenconfig/xen_sxpr.c -+++ libvirt-1.2.17/src/xenconfig/xen_sxpr.c +--- libvirt-1.2.18.orig/src/xenconfig/xen_sxpr.c ++++ libvirt-1.2.18/src/xenconfig/xen_sxpr.c @@ -999,6 +999,7 @@ xenParseSxprPCI(virDomainDefPtr def, int busID; int slotID; diff --git a/suse-qemu-conf.patch b/suse-qemu-conf.patch index 3c28b84..d57facc 100644 --- a/suse-qemu-conf.patch +++ b/suse-qemu-conf.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.2.17/src/qemu/qemu.conf +Index: libvirt-1.2.18/src/qemu/qemu.conf =================================================================== ---- libvirt-1.2.17.orig/src/qemu/qemu.conf -+++ libvirt-1.2.17/src/qemu/qemu.conf +--- libvirt-1.2.18.orig/src/qemu/qemu.conf ++++ libvirt-1.2.18/src/qemu/qemu.conf @@ -201,11 +201,20 @@ # isolation, but it cannot appear in a list of drivers. # diff --git a/systemd-service-xen.patch b/systemd-service-xen.patch index e3cb281..ceaddc9 100644 --- a/systemd-service-xen.patch +++ b/systemd-service-xen.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.2.17/daemon/libvirtd.service.in +Index: libvirt-1.2.18/daemon/libvirtd.service.in =================================================================== ---- libvirt-1.2.17.orig/daemon/libvirtd.service.in -+++ libvirt-1.2.17/daemon/libvirtd.service.in +--- libvirt-1.2.18.orig/daemon/libvirtd.service.in ++++ libvirt-1.2.18/daemon/libvirtd.service.in @@ -5,6 +5,8 @@ After=network.target After=dbus.service After=iscsid.service diff --git a/virtlockd-init-script.patch b/virtlockd-init-script.patch index c909643..aff30a2 100644 --- a/virtlockd-init-script.patch +++ b/virtlockd-init-script.patch @@ -1,9 +1,9 @@ Adjust virtlockd init files to conform to SUSE standards -Index: libvirt-1.2.17/src/locking/virtlockd.sysconf +Index: libvirt-1.2.18/src/locking/virtlockd.sysconf =================================================================== ---- libvirt-1.2.17.orig/src/locking/virtlockd.sysconf -+++ libvirt-1.2.17/src/locking/virtlockd.sysconf +--- libvirt-1.2.18.orig/src/locking/virtlockd.sysconf ++++ libvirt-1.2.18/src/locking/virtlockd.sysconf @@ -1,3 +1,7 @@ +## Path: System/Virtualization/virtlockd + @@ -12,10 +12,10 @@ Index: libvirt-1.2.17/src/locking/virtlockd.sysconf # # Pass extra arguments to virtlockd #VIRTLOCKD_ARGS= -Index: libvirt-1.2.17/src/locking/virtlockd.init.in +Index: libvirt-1.2.18/src/locking/virtlockd.init.in =================================================================== ---- libvirt-1.2.17.orig/src/locking/virtlockd.init.in -+++ libvirt-1.2.17/src/locking/virtlockd.init.in +--- libvirt-1.2.18.orig/src/locking/virtlockd.init.in ++++ libvirt-1.2.18/src/locking/virtlockd.init.in @@ -4,12 +4,14 @@ # http://www.linux-foundation.org/spec//booksets/LSB-Core-generic/LSB-Core-generic.html#INITSCRCOMCONV # diff --git a/xen-pv-cdrom.patch b/xen-pv-cdrom.patch index e4d1ca2..30daad8 100644 --- a/xen-pv-cdrom.patch +++ b/xen-pv-cdrom.patch @@ -1,7 +1,7 @@ -Index: libvirt-1.2.17/src/xenconfig/xen_sxpr.c +Index: libvirt-1.2.18/src/xenconfig/xen_sxpr.c =================================================================== ---- libvirt-1.2.17.orig/src/xenconfig/xen_sxpr.c -+++ libvirt-1.2.17/src/xenconfig/xen_sxpr.c +--- libvirt-1.2.18.orig/src/xenconfig/xen_sxpr.c ++++ libvirt-1.2.18/src/xenconfig/xen_sxpr.c @@ -334,7 +334,7 @@ xenParseSxprChar(const char *value, static int xenParseSxprDisks(virDomainDefPtr def,