Accepting request 783128 from Virtualization
- Update to libvirt 6.1.0 - Many incremental improvements and bug fixes, see https://libvirt.org/news.html - Dropped patches: 6c1dddaf-libxl-shutdown-inhibit.patch, 849052ec-libxl-support-credit2.patch, 72ed254b-drop-exec-perms-bashcompletion.patch, e092daac-prohib-parallel-tunneled-mig.patch, ae9e6c2a-qemu-allow-cond-format-probe.patch OBS-URL: https://build.opensuse.org/request/show/783128 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libvirt?expand=0&rev=301
This commit is contained in:
commit
1dc735a797
@ -18,10 +18,10 @@ them.
|
||||
create mode 100644 src/conf/domain_stats.c
|
||||
create mode 100644 src/conf/domain_stats.h
|
||||
|
||||
Index: libvirt-6.0.0/src/conf/domain_stats.c
|
||||
Index: libvirt-6.1.0/src/conf/domain_stats.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libvirt-6.0.0/src/conf/domain_stats.c
|
||||
+++ libvirt-6.1.0/src/conf/domain_stats.c
|
||||
@@ -0,0 +1,119 @@
|
||||
+/*
|
||||
+ * domain_stats.c: domain stats extraction helpers
|
||||
@ -142,10 +142,10 @@ Index: libvirt-6.0.0/src/conf/domain_stats.c
|
||||
+}
|
||||
+
|
||||
+#undef STATS_ADD_NET_PARAM
|
||||
Index: libvirt-6.0.0/src/conf/domain_stats.h
|
||||
Index: libvirt-6.1.0/src/conf/domain_stats.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libvirt-6.0.0/src/conf/domain_stats.h
|
||||
+++ libvirt-6.1.0/src/conf/domain_stats.h
|
||||
@@ -0,0 +1,62 @@
|
||||
+/*
|
||||
+ * domain_stats.h: domain stats extraction helpers
|
||||
@ -209,11 +209,11 @@ Index: libvirt-6.0.0/src/conf/domain_stats.h
|
||||
+ virTypedParamListPtr params);
|
||||
+
|
||||
+#endif /* __DOMAIN_STATS_H */
|
||||
Index: libvirt-6.0.0/src/libvirt_private.syms
|
||||
Index: libvirt-6.1.0/src/libvirt_private.syms
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/libvirt_private.syms
|
||||
+++ libvirt-6.0.0/src/libvirt_private.syms
|
||||
@@ -714,6 +714,9 @@ virDomainConfNWFilterInstantiate;
|
||||
--- libvirt-6.1.0.orig/src/libvirt_private.syms
|
||||
+++ libvirt-6.1.0/src/libvirt_private.syms
|
||||
@@ -725,6 +725,9 @@ virDomainConfNWFilterInstantiate;
|
||||
virDomainConfNWFilterTeardown;
|
||||
virDomainConfVMNWFilterTeardown;
|
||||
|
||||
@ -223,7 +223,7 @@ Index: libvirt-6.0.0/src/libvirt_private.syms
|
||||
|
||||
# conf/interface_conf.h
|
||||
virInterfaceDefFormat;
|
||||
@@ -1691,6 +1694,7 @@ virCgroupGetMemoryUsage;
|
||||
@@ -1752,6 +1755,7 @@ virCgroupGetMemoryUsage;
|
||||
virCgroupGetMemSwapHardLimit;
|
||||
virCgroupGetMemSwapUsage;
|
||||
virCgroupGetPercpuStats;
|
||||
@ -231,19 +231,19 @@ Index: libvirt-6.0.0/src/libvirt_private.syms
|
||||
virCgroupHasController;
|
||||
virCgroupHasEmptyTasks;
|
||||
virCgroupKillPainfully;
|
||||
Index: libvirt-6.0.0/src/qemu/qemu_driver.c
|
||||
Index: libvirt-6.1.0/src/qemu/qemu_driver.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/qemu/qemu_driver.c
|
||||
+++ libvirt-6.0.0/src/qemu/qemu_driver.c
|
||||
@@ -67,6 +67,7 @@
|
||||
--- libvirt-6.1.0.orig/src/qemu/qemu_driver.c
|
||||
+++ libvirt-6.1.0/src/qemu/qemu_driver.c
|
||||
@@ -64,6 +64,7 @@
|
||||
#include "virarptable.h"
|
||||
#include "viruuid.h"
|
||||
#include "domain_conf.h"
|
||||
+#include "domain_stats.h"
|
||||
#include "domain_audit.h"
|
||||
#include "node_device_conf.h"
|
||||
#include "virpci.h"
|
||||
@@ -20584,13 +20585,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
|
||||
#include "domain_cgroup.h"
|
||||
#include "domain_driver.h"
|
||||
@@ -20458,13 +20459,7 @@ qemuDomainGetStatsState(virQEMUDriverPtr
|
||||
virTypedParamListPtr params,
|
||||
unsigned int privflags G_GNUC_UNUSED)
|
||||
{
|
||||
@ -258,7 +258,7 @@ Index: libvirt-6.0.0/src/qemu/qemu_driver.c
|
||||
}
|
||||
|
||||
|
||||
@@ -20893,17 +20888,7 @@ qemuDomainGetStatsCpuCgroup(virDomainObj
|
||||
@@ -20767,17 +20762,7 @@ qemuDomainGetStatsCpuCgroup(virDomainObj
|
||||
if (!priv->cgroup)
|
||||
return 0;
|
||||
|
||||
@ -277,7 +277,7 @@ Index: libvirt-6.0.0/src/qemu/qemu_driver.c
|
||||
}
|
||||
|
||||
|
||||
@@ -21071,76 +21056,15 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr
|
||||
@@ -20945,76 +20930,15 @@ qemuDomainGetStatsVcpu(virQEMUDriverPtr
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -355,11 +355,11 @@ Index: libvirt-6.0.0/src/qemu/qemu_driver.c
|
||||
|
||||
/* refresh information by opening images on the disk */
|
||||
static int
|
||||
Index: libvirt-6.0.0/src/util/vircgroup.c
|
||||
Index: libvirt-6.1.0/src/util/vircgroup.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/util/vircgroup.c
|
||||
+++ libvirt-6.0.0/src/util/vircgroup.c
|
||||
@@ -2773,6 +2773,31 @@ virCgroupControllerAvailable(int control
|
||||
--- libvirt-6.1.0.orig/src/util/vircgroup.c
|
||||
+++ libvirt-6.1.0/src/util/vircgroup.c
|
||||
@@ -2779,6 +2779,31 @@ virCgroupControllerAvailable(int control
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -391,7 +391,7 @@ Index: libvirt-6.0.0/src/util/vircgroup.c
|
||||
#else /* !__linux__ */
|
||||
|
||||
bool
|
||||
@@ -2782,6 +2807,14 @@ virCgroupAvailable(void)
|
||||
@@ -2788,6 +2813,14 @@ virCgroupAvailable(void)
|
||||
}
|
||||
|
||||
|
||||
@ -406,29 +406,29 @@ Index: libvirt-6.0.0/src/util/vircgroup.c
|
||||
int
|
||||
virCgroupNewPartition(const char *path G_GNUC_UNUSED,
|
||||
bool create G_GNUC_UNUSED,
|
||||
Index: libvirt-6.0.0/src/util/vircgroup.h
|
||||
Index: libvirt-6.1.0/src/util/vircgroup.h
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/util/vircgroup.h
|
||||
+++ libvirt-6.0.0/src/util/vircgroup.h
|
||||
@@ -24,6 +24,7 @@
|
||||
#include "virutil.h"
|
||||
--- libvirt-6.1.0.orig/src/util/vircgroup.h
|
||||
+++ libvirt-6.1.0/src/util/vircgroup.h
|
||||
@@ -23,6 +23,7 @@
|
||||
|
||||
#include "virbitmap.h"
|
||||
#include "virenum.h"
|
||||
+#include "virtypedparam.h"
|
||||
|
||||
struct _virCgroup;
|
||||
typedef struct _virCgroup virCgroup;
|
||||
@@ -285,3 +286,6 @@ int virCgroupSetOwner(virCgroupPtr cgrou
|
||||
@@ -271,3 +272,6 @@ int virCgroupSetOwner(virCgroupPtr cgrou
|
||||
int virCgroupHasEmptyTasks(virCgroupPtr cgroup, int controller);
|
||||
|
||||
bool virCgroupControllerAvailable(int controller);
|
||||
+
|
||||
+int virCgroupGetStatsCpu(virCgroupPtr cgroup,
|
||||
+ virTypedParamListPtr params);
|
||||
Index: libvirt-6.0.0/src/conf/Makefile.inc.am
|
||||
Index: libvirt-6.1.0/src/conf/Makefile.inc.am
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/conf/Makefile.inc.am
|
||||
+++ libvirt-6.0.0/src/conf/Makefile.inc.am
|
||||
--- libvirt-6.1.0.orig/src/conf/Makefile.inc.am
|
||||
+++ libvirt-6.1.0/src/conf/Makefile.inc.am
|
||||
@@ -28,6 +28,8 @@ DOMAIN_CONF_SOURCES = \
|
||||
conf/domain_audit.h \
|
||||
conf/domain_nwfilter.c \
|
||||
|
@ -19,11 +19,11 @@ reworking this patch and submitting it to upstream libvirt.
|
||||
src/libxl/libxl_driver.c | 91 ++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 91 insertions(+)
|
||||
|
||||
Index: libvirt-6.0.0/src/libxl/libxl_driver.c
|
||||
Index: libvirt-6.1.0/src/libxl/libxl_driver.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/libxl/libxl_driver.c
|
||||
+++ libvirt-6.0.0/src/libxl/libxl_driver.c
|
||||
@@ -5280,6 +5280,96 @@ libxlDomainMemoryStats(virDomainPtr dom,
|
||||
--- libvirt-6.1.0.orig/src/libxl/libxl_driver.c
|
||||
+++ libvirt-6.1.0/src/libxl/libxl_driver.c
|
||||
@@ -5288,6 +5288,96 @@ libxlDomainMemoryStats(virDomainPtr dom,
|
||||
|
||||
#undef LIBXL_SET_MEMSTAT
|
||||
|
||||
@ -120,7 +120,7 @@ Index: libvirt-6.0.0/src/libxl/libxl_driver.c
|
||||
static int
|
||||
libxlDomainGetJobInfo(virDomainPtr dom,
|
||||
virDomainJobInfoPtr info)
|
||||
@@ -6698,6 +6788,7 @@ static virHypervisorDriver libxlHypervis
|
||||
@@ -6706,6 +6796,7 @@ static virHypervisorDriver libxlHypervis
|
||||
#endif
|
||||
.nodeGetFreeMemory = libxlNodeGetFreeMemory, /* 0.9.0 */
|
||||
.nodeGetCellsFreeMemory = libxlNodeGetCellsFreeMemory, /* 1.1.1 */
|
||||
|
@ -9,19 +9,19 @@ them using the existing API.
|
||||
src/lxc/lxc_driver.c | 138 +++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 138 insertions(+)
|
||||
|
||||
Index: libvirt-6.0.0/src/lxc/lxc_driver.c
|
||||
Index: libvirt-6.1.0/src/lxc/lxc_driver.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/lxc/lxc_driver.c
|
||||
+++ libvirt-6.0.0/src/lxc/lxc_driver.c
|
||||
@@ -75,6 +75,7 @@
|
||||
#include "viraccessapichecklxc.h"
|
||||
#include "virhostdev.h"
|
||||
--- libvirt-6.1.0.orig/src/lxc/lxc_driver.c
|
||||
+++ libvirt-6.1.0/src/lxc/lxc_driver.c
|
||||
@@ -74,6 +74,7 @@
|
||||
#include "netdev_bandwidth_conf.h"
|
||||
#include "virsocket.h"
|
||||
#include "virutil.h"
|
||||
+#include "domain_stats.h"
|
||||
|
||||
#define VIR_FROM_THIS VIR_FROM_LXC
|
||||
|
||||
@@ -5351,6 +5352,135 @@ lxcDomainHasManagedSaveImage(virDomainPt
|
||||
@@ -5077,6 +5078,135 @@ lxcDomainHasManagedSaveImage(virDomainPt
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -157,7 +157,7 @@ Index: libvirt-6.0.0/src/lxc/lxc_driver.c
|
||||
|
||||
/* Function Tables */
|
||||
static virHypervisorDriver lxcHypervisorDriver = {
|
||||
@@ -5446,6 +5576,7 @@ static virHypervisorDriver lxcHypervisor
|
||||
@@ -5174,6 +5304,7 @@ static virHypervisorDriver lxcHypervisor
|
||||
.nodeGetFreePages = lxcNodeGetFreePages, /* 1.2.6 */
|
||||
.nodeAllocPages = lxcNodeAllocPages, /* 1.2.9 */
|
||||
.domainHasManagedSaveImage = lxcDomainHasManagedSaveImage, /* 1.2.13 */
|
||||
|
@ -1,39 +0,0 @@
|
||||
commit 6c1dddaf97b4ef70e27961c9f79b15c79a863ac5
|
||||
Author: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
|
||||
Date: Sat Jan 18 03:37:42 2020 +0100
|
||||
|
||||
libxl: initialize shutdown inhibit callback
|
||||
|
||||
The libxl driver already tries to call shutdown inhibit callback in the
|
||||
right places, but only if it's set. That last part was missing,
|
||||
resulting in premature shutdown when running libvirtd
|
||||
--timeout=...
|
||||
|
||||
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
|
||||
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
|
||||
|
||||
Index: libvirt-6.0.0/src/libxl/libxl_driver.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/libxl/libxl_driver.c
|
||||
+++ libvirt-6.0.0/src/libxl/libxl_driver.c
|
||||
@@ -648,8 +648,8 @@ libxlAddDom0(libxlDriverPrivatePtr drive
|
||||
|
||||
static int
|
||||
libxlStateInitialize(bool privileged,
|
||||
- virStateInhibitCallback callback G_GNUC_UNUSED,
|
||||
- void *opaque G_GNUC_UNUSED)
|
||||
+ virStateInhibitCallback callback,
|
||||
+ void *opaque)
|
||||
{
|
||||
libxlDriverConfigPtr cfg;
|
||||
char *driverConf = NULL;
|
||||
@@ -670,6 +670,9 @@ libxlStateInitialize(bool privileged,
|
||||
return VIR_DRV_STATE_INIT_ERROR;
|
||||
}
|
||||
|
||||
+ libxl_driver->inhibitCallback = callback;
|
||||
+ libxl_driver->inhibitOpaque = opaque;
|
||||
+
|
||||
/* Allocate bitmap for vnc port reservation */
|
||||
if (!(libxl_driver->reservedGraphicsPorts =
|
||||
virPortAllocatorRangeNew(_("VNC"),
|
@ -1,27 +0,0 @@
|
||||
commit 72ed254b38571a2139ed2a43607e07750fea459f
|
||||
Author: Jim Fehlig <jfehlig@suse.com>
|
||||
Date: Thu Jan 30 11:29:41 2020 -0700
|
||||
|
||||
build: Drop execute permissions on virsh bash completion command
|
||||
|
||||
rpmlint complains about "script-without-shebang" due to the execute
|
||||
permissions on /usr/share/bash-completion/completions/vsh. Use
|
||||
INSTALL_DATA instead of INSTALL_SCRIPT to avoid the unnecessary
|
||||
execute permissions.
|
||||
|
||||
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
||||
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
|
||||
Index: libvirt-6.0.0/tools/Makefile.am
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/tools/Makefile.am
|
||||
+++ libvirt-6.0.0/tools/Makefile.am
|
||||
@@ -357,7 +357,7 @@ libvirt-guests.service: libvirt-guests.s
|
||||
if WITH_BASH_COMPLETION
|
||||
install-bash-completion:
|
||||
$(MKDIR_P) "$(DESTDIR)$(BASH_COMPLETIONS_DIR)"
|
||||
- $(INSTALL_SCRIPT) $(srcdir)/bash-completion/vsh \
|
||||
+ $(INSTALL_DATA) $(srcdir)/bash-completion/vsh \
|
||||
"$(DESTDIR)$(BASH_COMPLETIONS_DIR)/vsh"
|
||||
( cd $(DESTDIR)$(BASH_COMPLETIONS_DIR) && \
|
||||
rm -f virsh virt-admin && \
|
@ -1,68 +0,0 @@
|
||||
commit 849052ec61e18780713bec171748e859e32dfd6d
|
||||
Author: Dario Faggioli <dfaggioli@suse.com>
|
||||
Date: Wed Jan 29 12:05:15 2020 +0100
|
||||
|
||||
libxl: support getting and setting parameters for the Credit2
|
||||
|
||||
With Credit2 being Xen default scheduler, it's definitely the case to
|
||||
allow Credit2's scheduling parameters to be get and set via libvirt.
|
||||
|
||||
This is easy, as Credit and Credit2 have (at least as of now) the very
|
||||
same parameters ('weight' and 'cap'). So we can just let credit2 pass
|
||||
the scheduler-type check and the same code will work for both.
|
||||
|
||||
Signed-off-by: Dario Faggioli <dfaggioli@suse.com>
|
||||
Reviewed-by: Jim Fehlig <jfehlig@suse.com>
|
||||
|
||||
Index: libvirt-6.0.0/src/libxl/libxl_driver.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/libxl/libxl_driver.c
|
||||
+++ libvirt-6.0.0/src/libxl/libxl_driver.c
|
||||
@@ -73,7 +73,7 @@ VIR_LOG_INIT("libxl.libxl_driver");
|
||||
#define HYPERVISOR_CAPABILITIES "/proc/xen/capabilities"
|
||||
#define HYPERVISOR_XENSTORED "/dev/xen/xenstored"
|
||||
|
||||
-/* Number of Xen scheduler parameters */
|
||||
+/* Number of Xen scheduler parameters. credit and credit2 both support 2 */
|
||||
#define XEN_SCHED_CREDIT_NPARAM 2
|
||||
|
||||
#define LIBXL_CHECK_DOM0_GOTO(name, label) \
|
||||
@@ -4579,6 +4579,8 @@ libxlDomainGetSchedulerType(virDomainPtr
|
||||
break;
|
||||
case LIBXL_SCHEDULER_CREDIT2:
|
||||
name = "credit2";
|
||||
+ if (nparams)
|
||||
+ *nparams = XEN_SCHED_CREDIT_NPARAM;
|
||||
break;
|
||||
case LIBXL_SCHEDULER_ARINC653:
|
||||
name = "arinc653";
|
||||
@@ -4625,11 +4627,11 @@ libxlDomainGetSchedulerParametersFlags(v
|
||||
if (virDomainObjCheckActive(vm) < 0)
|
||||
goto cleanup;
|
||||
|
||||
+ /* Only credit and credit2 are supported for now. */
|
||||
sched_id = libxl_get_scheduler(cfg->ctx);
|
||||
-
|
||||
- if (sched_id != LIBXL_SCHEDULER_CREDIT) {
|
||||
+ if (sched_id != LIBXL_SCHEDULER_CREDIT && sched_id != LIBXL_SCHEDULER_CREDIT2) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
- _("Only 'credit' scheduler is supported"));
|
||||
+ _("Only 'credit' and 'credit2' schedulers are supported"));
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
@@ -4702,11 +4704,11 @@ libxlDomainSetSchedulerParametersFlags(v
|
||||
if (virDomainObjCheckActive(vm) < 0)
|
||||
goto endjob;
|
||||
|
||||
+ /* Only credit and credit2 are supported for now. */
|
||||
sched_id = libxl_get_scheduler(cfg->ctx);
|
||||
-
|
||||
- if (sched_id != LIBXL_SCHEDULER_CREDIT) {
|
||||
+ if (sched_id != LIBXL_SCHEDULER_CREDIT && sched_id != LIBXL_SCHEDULER_CREDIT2) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
- _("Only 'credit' scheduler is supported"));
|
||||
+ _("Only 'credit' and 'credit2' schedulers are supported"));
|
||||
goto endjob;
|
||||
}
|
||||
|
@ -1,136 +0,0 @@
|
||||
commit ae9e6c2a2b75d958995c661f7bb64ed4353a6404
|
||||
Author: Peter Krempa <pkrempa@redhat.com>
|
||||
Date: Mon Feb 17 10:08:25 2020 +0100
|
||||
|
||||
virStorageFileGetMetadataRecurse: Allow format probing under special circumstances
|
||||
|
||||
Allow format probing to work around lazy clients which did not specify
|
||||
their format in the overlay. Format probing will be allowed only, if we
|
||||
are able to probe the image, the probing result was successful and the
|
||||
probed image does not have any backing or data file.
|
||||
|
||||
This relaxes the restrictions which were imposed in commit 3615e8b39bad
|
||||
in cases when we know that the image probing will not result in security
|
||||
issues or data corruption.
|
||||
|
||||
We perform the image format detection and in the case that we were able
|
||||
to probe the format and the format does not specify a backing store (or
|
||||
doesn't support backing store) we can use this format.
|
||||
|
||||
With pre-blockdev configurations this will restore the previous
|
||||
behaviour for the images mentioned above as qemu would probe the format
|
||||
anyways. It also improves error reporting compared to the old state as
|
||||
we now report that the backing chain will be broken in case when there
|
||||
is a backing file.
|
||||
|
||||
In blockdev configurations this ensures that libvirt will not cause data
|
||||
corruption by ending the chain prematurely without notifying the user,
|
||||
but still allows the old semantics when the users forgot to specify the
|
||||
format.
|
||||
|
||||
Users thus don't have to re-invent when image format detection is safe
|
||||
to do.
|
||||
|
||||
The price for this is that libvirt will need to keep the image format
|
||||
detector still current and working or replace it by invocation of
|
||||
qemu-img.
|
||||
|
||||
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
|
||||
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
|
||||
|
||||
Index: libvirt-6.0.0/src/util/virstoragefile.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/util/virstoragefile.c
|
||||
+++ libvirt-6.0.0/src/util/virstoragefile.c
|
||||
@@ -4907,6 +4907,7 @@ virStorageFileGetMetadataRecurse(virStor
|
||||
virHashTablePtr cycle,
|
||||
unsigned int depth)
|
||||
{
|
||||
+ virStorageFileFormat orig_format = src->format;
|
||||
int ret = -1;
|
||||
const char *uniqueName;
|
||||
ssize_t headerLen;
|
||||
@@ -4919,10 +4920,17 @@ virStorageFileGetMetadataRecurse(virStor
|
||||
src->path, src->format,
|
||||
(unsigned int)uid, (unsigned int)gid);
|
||||
|
||||
+ if (src->format == VIR_STORAGE_FILE_AUTO_SAFE)
|
||||
+ src->format = VIR_STORAGE_FILE_AUTO;
|
||||
+
|
||||
/* exit if we can't load information about the current image */
|
||||
rv = virStorageFileSupportsBackingChainTraversal(src);
|
||||
- if (rv <= 0)
|
||||
+ if (rv <= 0) {
|
||||
+ if (orig_format == VIR_STORAGE_FILE_AUTO)
|
||||
+ return -2;
|
||||
+
|
||||
return rv;
|
||||
+ }
|
||||
|
||||
if (virStorageFileInitAs(src, uid, gid) < 0)
|
||||
return -1;
|
||||
@@ -4960,6 +4968,18 @@ virStorageFileGetMetadataRecurse(virStor
|
||||
&backingFormat) < 0)
|
||||
goto cleanup;
|
||||
|
||||
+ /* If we probed the format we MUST ensure that nothing else than the current
|
||||
+ * image (this includes both backing files and external data store) is
|
||||
+ * considered for security labelling and/or recursion. */
|
||||
+ if (orig_format == VIR_STORAGE_FILE_AUTO) {
|
||||
+ if (src->backingStoreRaw || src->externalDataStoreRaw) {
|
||||
+ src->format = VIR_STORAGE_FILE_RAW;
|
||||
+ VIR_FREE(src->backingStoreRaw);
|
||||
+ VIR_FREE(src->externalDataStoreRaw);
|
||||
+ return -2;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
if (src->backingStoreRaw) {
|
||||
if ((rv = virStorageSourceNewFromBacking(src, &backingStore)) < 0)
|
||||
goto cleanup;
|
||||
@@ -4972,36 +4992,21 @@ virStorageFileGetMetadataRecurse(virStor
|
||||
|
||||
backingStore->format = backingFormat;
|
||||
|
||||
- if (backingStore->format == VIR_STORAGE_FILE_AUTO) {
|
||||
- /* Assuming the backing store to be raw can lead to failures. We do
|
||||
- * it only when we must not report an error to prevent losing VMs.
|
||||
- * Otherwise report an error.
|
||||
- */
|
||||
- if (report_broken) {
|
||||
+ if ((rv = virStorageFileGetMetadataRecurse(backingStore, parent,
|
||||
+ uid, gid,
|
||||
+ report_broken,
|
||||
+ cycle, depth + 1)) < 0) {
|
||||
+ if (!report_broken)
|
||||
+ return 0;
|
||||
+
|
||||
+ if (rv == -2) {
|
||||
virReportError(VIR_ERR_OPERATION_INVALID,
|
||||
_("format of backing image '%s' of image '%s' was not specified in the image metadata "
|
||||
"(See https://libvirt.org/kbase/backing_chains.html for troubleshooting)"),
|
||||
src->backingStoreRaw, NULLSTR(src->path));
|
||||
- return -1;
|
||||
}
|
||||
|
||||
- backingStore->format = VIR_STORAGE_FILE_RAW;
|
||||
- }
|
||||
-
|
||||
- if (backingStore->format == VIR_STORAGE_FILE_AUTO_SAFE)
|
||||
- backingStore->format = VIR_STORAGE_FILE_AUTO;
|
||||
-
|
||||
- if ((ret = virStorageFileGetMetadataRecurse(backingStore, parent,
|
||||
- uid, gid,
|
||||
- report_broken,
|
||||
- cycle, depth + 1)) < 0) {
|
||||
- if (report_broken)
|
||||
- goto cleanup;
|
||||
-
|
||||
- /* if we fail somewhere midway, just accept and return a
|
||||
- * broken chain */
|
||||
- ret = 0;
|
||||
- goto cleanup;
|
||||
+ return -1;
|
||||
}
|
||||
} else {
|
||||
/* add terminator */
|
@ -1,75 +0,0 @@
|
||||
commit e092daacee330b8f758bceaf1e9a0ccfec2e00c8
|
||||
Author: Jim Fehlig <jfehlig@suse.com>
|
||||
Date: Fri Jan 17 10:36:32 2020 -0700
|
||||
|
||||
lib: Prohibit parallel connections with tunneled migration
|
||||
|
||||
As discussed on the developer list, parallel migration connections
|
||||
are not compatible with tunneled migration
|
||||
|
||||
https://www.redhat.com/archives/libvir-list/2020-January/msg00463.html
|
||||
|
||||
Prohibit the concurrent use of parallel and tunneled migration options.
|
||||
|
||||
Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
||||
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||||
|
||||
Index: libvirt-6.0.0/src/libvirt-domain.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/libvirt-domain.c
|
||||
+++ libvirt-6.0.0/src/libvirt-domain.c
|
||||
@@ -3548,6 +3548,10 @@ virDomainMigrate(virDomainPtr domain,
|
||||
VIR_MIGRATE_NON_SHARED_INC,
|
||||
error);
|
||||
|
||||
+ VIR_EXCLUSIVE_FLAGS_GOTO(VIR_MIGRATE_TUNNELLED,
|
||||
+ VIR_MIGRATE_PARALLEL,
|
||||
+ error);
|
||||
+
|
||||
if (flags & VIR_MIGRATE_OFFLINE) {
|
||||
if (!VIR_DRV_SUPPORTS_FEATURE(domain->conn->driver, domain->conn,
|
||||
VIR_DRV_FEATURE_MIGRATION_OFFLINE)) {
|
||||
@@ -3703,6 +3707,10 @@ virDomainMigrate2(virDomainPtr domain,
|
||||
VIR_MIGRATE_NON_SHARED_INC,
|
||||
error);
|
||||
|
||||
+ VIR_EXCLUSIVE_FLAGS_GOTO(VIR_MIGRATE_TUNNELLED,
|
||||
+ VIR_MIGRATE_PARALLEL,
|
||||
+ error);
|
||||
+
|
||||
if (flags & VIR_MIGRATE_OFFLINE) {
|
||||
if (!VIR_DRV_SUPPORTS_FEATURE(domain->conn->driver, domain->conn,
|
||||
VIR_DRV_FEATURE_MIGRATION_OFFLINE)) {
|
||||
@@ -4089,6 +4097,10 @@ virDomainMigrateToURI(virDomainPtr domai
|
||||
virCheckReadOnlyGoto(domain->conn->flags, error);
|
||||
virCheckNonNullArgGoto(duri, error);
|
||||
|
||||
+ VIR_EXCLUSIVE_FLAGS_GOTO(VIR_MIGRATE_TUNNELLED,
|
||||
+ VIR_MIGRATE_PARALLEL,
|
||||
+ error);
|
||||
+
|
||||
if (virDomainMigrateUnmanagedCheckCompat(domain, flags) < 0)
|
||||
goto error;
|
||||
|
||||
@@ -4161,6 +4173,10 @@ virDomainMigrateToURI2(virDomainPtr doma
|
||||
virCheckDomainReturn(domain, -1);
|
||||
virCheckReadOnlyGoto(domain->conn->flags, error);
|
||||
|
||||
+ VIR_EXCLUSIVE_FLAGS_GOTO(VIR_MIGRATE_TUNNELLED,
|
||||
+ VIR_MIGRATE_PARALLEL,
|
||||
+ error);
|
||||
+
|
||||
if (virDomainMigrateUnmanagedCheckCompat(domain, flags) < 0)
|
||||
goto error;
|
||||
|
||||
@@ -4234,6 +4250,10 @@ virDomainMigrateToURI3(virDomainPtr doma
|
||||
virCheckDomainReturn(domain, -1);
|
||||
virCheckReadOnlyGoto(domain->conn->flags, error);
|
||||
|
||||
+ VIR_EXCLUSIVE_FLAGS_GOTO(VIR_MIGRATE_TUNNELLED,
|
||||
+ VIR_MIGRATE_PARALLEL,
|
||||
+ error);
|
||||
+
|
||||
if (virDomainMigrateUnmanagedCheckCompat(domain, flags) < 0)
|
||||
goto error;
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e6bb642389bbace3252c462bbb2e9b1749dd64315b9873a424f36c7f8d357f76
|
||||
size 8686092
|
@ -1,11 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQEzBAABCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl4fLBoACgkQFViLJllr
|
||||
6l2/Hwf9Fe4jQdFda9ml3mpg7MAy5J060yC8d5hRZSqtCEeoM71DGHc6vgeGiBVf
|
||||
5JdTKGCwTC7xaQu+Hcs0cTuqGwx0sAepH0gBjO4AkfuHqI/zvPzpWoB2NY/AOaMK
|
||||
aqOQYXk1pz0a9UQ3SA+dPDjzsuDW4+0L2bj08iQZuQu7sX6ItYWL/dEiopEJ87vO
|
||||
zRWKOH3QfEUo6xj0PcdyhIRWFF92Q6y2h8zAcOAnyYgMBbXBTePx+jwQ/kAzgB/q
|
||||
UhiVTzNfoeo/Zmpkwq7Oiti0qez0U6IVM6Lseczj2mWUbY7CD7QCQOH2oo8bdCcS
|
||||
9xv6amO067GldZb1utD5KZf1LX1W/w==
|
||||
=qArt
|
||||
-----END PGP SIGNATURE-----
|
3
libvirt-6.1.0.tar.xz
Normal file
3
libvirt-6.1.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:167c185be45560e73dd3e14ed375778b555c01455192de2dafc4d0f74fabebc0
|
||||
size 8276964
|
11
libvirt-6.1.0.tar.xz.asc
Normal file
11
libvirt-6.1.0.tar.xz.asc
Normal file
@ -0,0 +1,11 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQEzBAABCAAdFiEE20ZoG7ka3OoXD6LUFViLJllr6l0FAl5eV20ACgkQFViLJllr
|
||||
6l2vngf/Vb7A4RA9HzmrysjfCD7yRYnjX9NzgApyQMsKOursQlXxeAHE9cKpc9hM
|
||||
NyQ4+f9SVJnJ+Wd2Z8bZDY976Bg6obDdXnEuL00QBrBe+gsTEXf5fc4fRnV8/l3b
|
||||
en1MEZ+VYFH6mmKUheumybOaPPc0DlgCBRXZj50UDHTdEqB4pQWxL2bIEOVIlepn
|
||||
WEXv0v3CoWdsVUzvsVz2vNNPt3PW+hFHU4nAcTTMF/IJwbLIGMY3JTVV0imPD1PV
|
||||
qLb3wSi0INrKLRfOJC51j2ILj1GQe33OTmVmxqJSFDBOvb7yf1j2VQ5T3jfIIpay
|
||||
oWAnznrtezmG9Pq/hXPIABV7piYAYA==
|
||||
=7yxg
|
||||
-----END PGP SIGNATURE-----
|
@ -2,10 +2,10 @@ Add POWER8 v2.0 and v2.1 to cpu map XML
|
||||
|
||||
From: <ro@suse.de>
|
||||
|
||||
Index: libvirt-6.0.0/src/cpu_map/ppc64_POWER8.xml
|
||||
Index: libvirt-6.1.0/src/cpu_map/ppc64_POWER8.xml
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/cpu_map/ppc64_POWER8.xml
|
||||
+++ libvirt-6.0.0/src/cpu_map/ppc64_POWER8.xml
|
||||
--- libvirt-6.1.0.orig/src/cpu_map/ppc64_POWER8.xml
|
||||
+++ libvirt-6.1.0/src/cpu_map/ppc64_POWER8.xml
|
||||
@@ -4,5 +4,7 @@
|
||||
<pvr value='0x004b0000' mask='0xffff0000'/>
|
||||
<pvr value='0x004c0000' mask='0xffff0000'/>
|
||||
|
@ -1,8 +1,8 @@
|
||||
Index: libvirt-6.0.0/configure.ac
|
||||
Index: libvirt-6.1.0/configure.ac
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/configure.ac
|
||||
+++ libvirt-6.0.0/configure.ac
|
||||
@@ -285,6 +285,7 @@ LIBVIRT_ARG_LIBSSH
|
||||
--- libvirt-6.1.0.orig/configure.ac
|
||||
+++ libvirt-6.1.0/configure.ac
|
||||
@@ -278,6 +278,7 @@ LIBVIRT_ARG_LIBSSH
|
||||
LIBVIRT_ARG_LIBXML
|
||||
LIBVIRT_ARG_MACVTAP
|
||||
LIBVIRT_ARG_NETCF
|
||||
@ -10,7 +10,7 @@ Index: libvirt-6.0.0/configure.ac
|
||||
LIBVIRT_ARG_NLS
|
||||
LIBVIRT_ARG_NSS
|
||||
LIBVIRT_ARG_NUMACTL
|
||||
@@ -329,6 +330,7 @@ LIBVIRT_CHECK_LIBSSH
|
||||
@@ -321,6 +322,7 @@ LIBVIRT_CHECK_LIBSSH
|
||||
LIBVIRT_CHECK_LIBXML
|
||||
LIBVIRT_CHECK_MACVTAP
|
||||
LIBVIRT_CHECK_NETCF
|
||||
@ -18,7 +18,7 @@ Index: libvirt-6.0.0/configure.ac
|
||||
LIBVIRT_CHECK_NLS
|
||||
LIBVIRT_CHECK_NUMACTL
|
||||
LIBVIRT_CHECK_NWFILTER
|
||||
@@ -1013,6 +1015,7 @@ LIBVIRT_RESULT_LIBXL
|
||||
@@ -1008,6 +1010,7 @@ LIBVIRT_RESULT_LIBXL
|
||||
LIBVIRT_RESULT_LIBXML
|
||||
LIBVIRT_RESULT_MACVTAP
|
||||
LIBVIRT_RESULT_NETCF
|
||||
@ -26,11 +26,11 @@ Index: libvirt-6.0.0/configure.ac
|
||||
LIBVIRT_RESULT_NLS
|
||||
LIBVIRT_RESULT_NSS
|
||||
LIBVIRT_RESULT_NUMACTL
|
||||
Index: libvirt-6.0.0/tools/virsh.c
|
||||
Index: libvirt-6.1.0/tools/virsh.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/tools/virsh.c
|
||||
+++ libvirt-6.0.0/tools/virsh.c
|
||||
@@ -553,6 +553,8 @@ virshShowVersion(vshControl *ctl G_GNUC_
|
||||
--- libvirt-6.1.0.orig/tools/virsh.c
|
||||
+++ libvirt-6.1.0/tools/virsh.c
|
||||
@@ -547,6 +547,8 @@ virshShowVersion(vshControl *ctl G_GNUC_
|
||||
vshPrint(ctl, " Interface");
|
||||
# if defined(WITH_NETCF)
|
||||
vshPrint(ctl, " netcf");
|
||||
@ -39,10 +39,10 @@ Index: libvirt-6.0.0/tools/virsh.c
|
||||
# elif defined(WITH_UDEV)
|
||||
vshPrint(ctl, " udev");
|
||||
# endif
|
||||
Index: libvirt-6.0.0/src/interface/interface_backend_netcf.c
|
||||
Index: libvirt-6.1.0/src/interface/interface_backend_netcf.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/interface/interface_backend_netcf.c
|
||||
+++ libvirt-6.0.0/src/interface/interface_backend_netcf.c
|
||||
--- libvirt-6.1.0.orig/src/interface/interface_backend_netcf.c
|
||||
+++ libvirt-6.1.0/src/interface/interface_backend_netcf.c
|
||||
@@ -21,7 +21,12 @@
|
||||
|
||||
#include <config.h>
|
||||
@ -57,7 +57,7 @@ Index: libvirt-6.0.0/src/interface/interface_backend_netcf.c
|
||||
|
||||
#include "virerror.h"
|
||||
#include "datatypes.h"
|
||||
@@ -71,6 +76,37 @@ VIR_ONCE_GLOBAL_INIT(virNetcfDriverState
|
||||
@@ -72,6 +77,37 @@ VIR_ONCE_GLOBAL_INIT(virNetcfDriverState
|
||||
|
||||
static virNetcfDriverStatePtr driver;
|
||||
|
||||
@ -95,7 +95,7 @@ Index: libvirt-6.0.0/src/interface/interface_backend_netcf.c
|
||||
|
||||
static void
|
||||
virNetcfDriverStateDispose(void *obj)
|
||||
@@ -119,6 +155,10 @@ netcfStateInitialize(bool privileged,
|
||||
@@ -127,6 +163,10 @@ netcfStateInitialize(bool privileged,
|
||||
virPidFileAcquire(driver->stateDir, "driver", false, getpid())) < 0)
|
||||
goto error;
|
||||
|
||||
@ -106,7 +106,7 @@ Index: libvirt-6.0.0/src/interface/interface_backend_netcf.c
|
||||
/* open netcf */
|
||||
if (ncf_init(&driver->netcf, NULL) != 0) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
@@ -1113,6 +1153,7 @@ static int netcfInterfaceIsActive(virInt
|
||||
@@ -1121,6 +1161,7 @@ static int netcfInterfaceIsActive(virInt
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -114,7 +114,7 @@ Index: libvirt-6.0.0/src/interface/interface_backend_netcf.c
|
||||
static int netcfInterfaceChangeBegin(virConnectPtr conn, unsigned int flags)
|
||||
{
|
||||
int ret;
|
||||
@@ -1187,6 +1228,7 @@ static int netcfInterfaceChangeRollback(
|
||||
@@ -1195,6 +1236,7 @@ static int netcfInterfaceChangeRollback(
|
||||
virObjectUnlock(driver);
|
||||
return ret;
|
||||
}
|
||||
@ -122,7 +122,7 @@ Index: libvirt-6.0.0/src/interface/interface_backend_netcf.c
|
||||
|
||||
static virInterfaceDriver interfaceDriver = {
|
||||
.name = INTERFACE_DRIVER_NAME,
|
||||
@@ -1203,9 +1245,11 @@ static virInterfaceDriver interfaceDrive
|
||||
@@ -1211,9 +1253,11 @@ static virInterfaceDriver interfaceDrive
|
||||
.interfaceCreate = netcfInterfaceCreate, /* 0.7.0 */
|
||||
.interfaceDestroy = netcfInterfaceDestroy, /* 0.7.0 */
|
||||
.interfaceIsActive = netcfInterfaceIsActive, /* 0.7.3 */
|
||||
@ -134,7 +134,7 @@ Index: libvirt-6.0.0/src/interface/interface_backend_netcf.c
|
||||
};
|
||||
|
||||
|
||||
@@ -1236,6 +1280,19 @@ static virStateDriver interfaceStateDriv
|
||||
@@ -1244,6 +1288,19 @@ static virStateDriver interfaceStateDriv
|
||||
|
||||
int netcfIfaceRegister(void)
|
||||
{
|
||||
@ -154,10 +154,10 @@ Index: libvirt-6.0.0/src/interface/interface_backend_netcf.c
|
||||
if (virRegisterConnectDriver(&interfaceConnectDriver, false) < 0)
|
||||
return -1;
|
||||
if (virSetSharedInterfaceDriver(&interfaceDriver) < 0)
|
||||
Index: libvirt-6.0.0/src/interface/interface_driver.c
|
||||
Index: libvirt-6.1.0/src/interface/interface_driver.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/interface/interface_driver.c
|
||||
+++ libvirt-6.0.0/src/interface/interface_driver.c
|
||||
--- libvirt-6.1.0.orig/src/interface/interface_driver.c
|
||||
+++ libvirt-6.1.0/src/interface/interface_driver.c
|
||||
@@ -30,8 +30,15 @@ interfaceRegister(void)
|
||||
if (netcfIfaceRegister() == 0)
|
||||
return 0;
|
||||
@ -175,10 +175,10 @@ Index: libvirt-6.0.0/src/interface/interface_driver.c
|
||||
if (udevIfaceRegister() == 0)
|
||||
return 0;
|
||||
#endif /* WITH_UDEV */
|
||||
Index: libvirt-6.0.0/m4/virt-netcontrol.m4
|
||||
Index: libvirt-6.1.0/m4/virt-netcontrol.m4
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libvirt-6.0.0/m4/virt-netcontrol.m4
|
||||
+++ libvirt-6.1.0/m4/virt-netcontrol.m4
|
||||
@@ -0,0 +1,39 @@
|
||||
+dnl The libnetcontrol library
|
||||
+dnl
|
||||
@ -219,10 +219,10 @@ Index: libvirt-6.0.0/m4/virt-netcontrol.m4
|
||||
+AC_DEFUN([LIBVIRT_RESULT_NETCONTROL],[
|
||||
+ LIBVIRT_RESULT_LIB([NETCONTROL])
|
||||
+])
|
||||
Index: libvirt-6.0.0/src/interface/Makefile.inc.am
|
||||
Index: libvirt-6.1.0/src/interface/Makefile.inc.am
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/interface/Makefile.inc.am
|
||||
+++ libvirt-6.0.0/src/interface/Makefile.inc.am
|
||||
--- libvirt-6.1.0.orig/src/interface/Makefile.inc.am
|
||||
+++ libvirt-6.1.0/src/interface/Makefile.inc.am
|
||||
@@ -6,6 +6,7 @@ INTERFACE_DRIVER_SOURCES = \
|
||||
$(NULL)
|
||||
|
||||
|
@ -1,3 +1,16 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 5 04:09:43 UTC 2020 - James Fehlig <jfehlig@suse.com>
|
||||
|
||||
- Update to libvirt 6.1.0
|
||||
- Many incremental improvements and bug fixes, see
|
||||
https://libvirt.org/news.html
|
||||
- Dropped patches:
|
||||
6c1dddaf-libxl-shutdown-inhibit.patch,
|
||||
849052ec-libxl-support-credit2.patch,
|
||||
72ed254b-drop-exec-perms-bashcompletion.patch,
|
||||
e092daac-prohib-parallel-tunneled-mig.patch,
|
||||
ae9e6c2a-qemu-allow-cond-format-probe.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Mar 3 23:22:42 UTC 2020 - James Fehlig <jfehlig@suse.com>
|
||||
|
||||
|
16
libvirt.spec
16
libvirt.spec
@ -185,7 +185,7 @@
|
||||
|
||||
Name: libvirt
|
||||
URL: http://libvirt.org/
|
||||
Version: 6.0.0
|
||||
Version: 6.1.0
|
||||
Release: 0
|
||||
Summary: Library providing a virtualization API
|
||||
License: LGPL-2.1-or-later
|
||||
@ -257,7 +257,7 @@ BuildRequires: pkgconfig(libudev) >= 145
|
||||
BuildRequires: sanlock-devel >= 2.4
|
||||
%endif
|
||||
BuildRequires: libnl3-devel
|
||||
BuildRequires: libpcap-devel
|
||||
BuildRequires: libpcap-devel >= 1.5.0
|
||||
BuildRequires: libselinux-devel
|
||||
%if 0%{?suse_version} >= 1330
|
||||
BuildRequires: libtirpc-devel
|
||||
@ -338,11 +338,6 @@ Source6: libvirtd-relocation-server.xml
|
||||
Source99: baselibs.conf
|
||||
Source100: %{name}-rpmlintrc
|
||||
# Upstream patches
|
||||
Patch0: 6c1dddaf-libxl-shutdown-inhibit.patch
|
||||
Patch1: 849052ec-libxl-support-credit2.patch
|
||||
Patch2: 72ed254b-drop-exec-perms-bashcompletion.patch
|
||||
Patch3: e092daac-prohib-parallel-tunneled-mig.patch
|
||||
Patch4: ae9e6c2a-qemu-allow-cond-format-probe.patch
|
||||
# Patches pending upstream review
|
||||
Patch100: libxl-dom-reset.patch
|
||||
Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch
|
||||
@ -876,11 +871,6 @@ libvirt plugin for NSS for translating domain names into IP addresses.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch100 -p1
|
||||
%patch101 -p1
|
||||
%patch150 -p1
|
||||
@ -1731,6 +1721,8 @@ fi
|
||||
%dir %attr(0711, root, root) %{_localstatedir}/log/swtpm/
|
||||
%dir %attr(0711, root, root) %{_localstatedir}/log/swtpm/%{name}/
|
||||
%dir %attr(0711, root, root) %{_localstatedir}/log/swtpm/%{name}/qemu/
|
||||
%{_bindir}/virt-qemu-run
|
||||
%{_mandir}/man1/virt-qemu-run.1*
|
||||
%endif
|
||||
|
||||
%if %{with_lxc}
|
||||
|
@ -8,11 +8,11 @@ Date: Mon Jun 23 15:51:20 2014 -0600
|
||||
option, but domainReset can be implemented in the libxl driver by
|
||||
forcibly destroying the domain and starting it again.
|
||||
|
||||
Index: libvirt-6.0.0/src/libxl/libxl_driver.c
|
||||
Index: libvirt-6.1.0/src/libxl/libxl_driver.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/libxl/libxl_driver.c
|
||||
+++ libvirt-6.0.0/src/libxl/libxl_driver.c
|
||||
@@ -1364,6 +1364,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
|
||||
--- libvirt-6.1.0.orig/src/libxl/libxl_driver.c
|
||||
+++ libvirt-6.1.0/src/libxl/libxl_driver.c
|
||||
@@ -1372,6 +1372,61 @@ libxlDomainReboot(virDomainPtr dom, unsi
|
||||
}
|
||||
|
||||
static int
|
||||
@ -74,7 +74,7 @@ Index: libvirt-6.0.0/src/libxl/libxl_driver.c
|
||||
libxlDomainDestroyFlags(virDomainPtr dom,
|
||||
unsigned int flags)
|
||||
{
|
||||
@@ -6573,6 +6628,7 @@ static virHypervisorDriver libxlHypervis
|
||||
@@ -6581,6 +6636,7 @@ static virHypervisorDriver libxlHypervis
|
||||
.domainShutdown = libxlDomainShutdown, /* 0.9.0 */
|
||||
.domainShutdownFlags = libxlDomainShutdownFlags, /* 0.9.10 */
|
||||
.domainReboot = libxlDomainReboot, /* 0.9.0 */
|
||||
|
@ -3,11 +3,11 @@ https://bugzilla.novell.com/show_bug.cgi?id=879425
|
||||
src/libxl/libxl_conf.c | 25 +++++++++++++++++++++++++
|
||||
1 file changed, 25 insertions(+)
|
||||
|
||||
Index: libvirt-6.0.0/src/libxl/libxl_conf.c
|
||||
Index: libvirt-6.1.0/src/libxl/libxl_conf.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.0.0/src/libxl/libxl_conf.c
|
||||
@@ -867,6 +867,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||
--- libvirt-6.1.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.1.0/src/libxl/libxl_conf.c
|
||||
@@ -866,6 +866,30 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -38,7 +38,7 @@ Index: libvirt-6.0.0/src/libxl/libxl_conf.c
|
||||
static char *
|
||||
libxlMakeNetworkDiskSrcStr(virStorageSourcePtr src,
|
||||
const char *username,
|
||||
@@ -1108,6 +1132,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
||||
@@ -1107,6 +1131,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
||||
x_disk->is_cdrom = l_disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ? 1 : 0;
|
||||
if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0)
|
||||
return -1;
|
||||
|
@ -16,10 +16,10 @@ Signed-off-by: Jim Fehlig <jfehlig@suse.com>
|
||||
tools/virsh.pod | 8 ++++++++
|
||||
6 files changed, 125 insertions(+), 6 deletions(-)
|
||||
|
||||
Index: libvirt-6.0.0/include/libvirt/libvirt-domain.h
|
||||
Index: libvirt-6.1.0/include/libvirt/libvirt-domain.h
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/include/libvirt/libvirt-domain.h
|
||||
+++ libvirt-6.0.0/include/libvirt/libvirt-domain.h
|
||||
--- libvirt-6.1.0.orig/include/libvirt/libvirt-domain.h
|
||||
+++ libvirt-6.1.0/include/libvirt/libvirt-domain.h
|
||||
@@ -1065,6 +1065,31 @@ typedef enum {
|
||||
*/
|
||||
# define VIR_MIGRATE_PARAM_TLS_DESTINATION "tls.destination"
|
||||
@ -52,11 +52,11 @@ Index: libvirt-6.0.0/include/libvirt/libvirt-domain.h
|
||||
/* Domain migration. */
|
||||
virDomainPtr virDomainMigrate (virDomainPtr domain, virConnectPtr dconn,
|
||||
unsigned long flags, const char *dname,
|
||||
Index: libvirt-6.0.0/src/libxl/libxl_driver.c
|
||||
Index: libvirt-6.1.0/src/libxl/libxl_driver.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/libxl/libxl_driver.c
|
||||
+++ libvirt-6.0.0/src/libxl/libxl_driver.c
|
||||
@@ -6138,6 +6138,9 @@ libxlDomainMigratePerform3Params(virDoma
|
||||
--- libvirt-6.1.0.orig/src/libxl/libxl_driver.c
|
||||
+++ libvirt-6.1.0/src/libxl/libxl_driver.c
|
||||
@@ -6146,6 +6146,9 @@ libxlDomainMigratePerform3Params(virDoma
|
||||
const char *dname = NULL;
|
||||
const char *uri = NULL;
|
||||
int ret = -1;
|
||||
@ -66,7 +66,7 @@ Index: libvirt-6.0.0/src/libxl/libxl_driver.c
|
||||
|
||||
#ifdef LIBXL_HAVE_NO_SUSPEND_RESUME
|
||||
virReportUnsupportedError();
|
||||
@@ -6154,6 +6157,18 @@ libxlDomainMigratePerform3Params(virDoma
|
||||
@@ -6162,6 +6165,18 @@ libxlDomainMigratePerform3Params(virDoma
|
||||
virTypedParamsGetString(params, nparams,
|
||||
VIR_MIGRATE_PARAM_DEST_NAME,
|
||||
&dname) < 0 ||
|
||||
@ -85,7 +85,7 @@ Index: libvirt-6.0.0/src/libxl/libxl_driver.c
|
||||
virTypedParamsGetString(params, nparams,
|
||||
VIR_MIGRATE_PARAM_URI,
|
||||
&uri) < 0)
|
||||
@@ -6168,11 +6183,11 @@ libxlDomainMigratePerform3Params(virDoma
|
||||
@@ -6176,11 +6191,11 @@ libxlDomainMigratePerform3Params(virDoma
|
||||
|
||||
if ((flags & (VIR_MIGRATE_TUNNELLED | VIR_MIGRATE_PEER2PEER))) {
|
||||
if (libxlDomainMigrationSrcPerformP2P(driver, vm, dom->conn, dom_xml,
|
||||
@ -99,11 +99,11 @@ Index: libvirt-6.0.0/src/libxl/libxl_driver.c
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
Index: libvirt-6.0.0/src/libxl/libxl_migration.c
|
||||
Index: libvirt-6.1.0/src/libxl/libxl_migration.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/libxl/libxl_migration.c
|
||||
+++ libvirt-6.0.0/src/libxl/libxl_migration.c
|
||||
@@ -338,18 +338,39 @@ libxlMigrateDstReceive(virNetSocketPtr s
|
||||
--- libvirt-6.1.0.orig/src/libxl/libxl_migration.c
|
||||
+++ libvirt-6.1.0/src/libxl/libxl_migration.c
|
||||
@@ -339,18 +339,39 @@ libxlMigrateDstReceive(virNetSocketPtr s
|
||||
static int
|
||||
libxlDoMigrateSrcSend(libxlDriverPrivatePtr driver,
|
||||
virDomainObjPtr vm,
|
||||
@ -145,7 +145,7 @@ Index: libvirt-6.0.0/src/libxl/libxl_migration.c
|
||||
if (ret != 0) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
_("Failed to send migration data to destination host"));
|
||||
@@ -902,7 +923,7 @@ struct libxlTunnelControl {
|
||||
@@ -903,7 +924,7 @@ struct libxlTunnelControl {
|
||||
static int
|
||||
libxlMigrationSrcStartTunnel(libxlDriverPrivatePtr driver,
|
||||
virDomainObjPtr vm,
|
||||
@ -154,7 +154,7 @@ Index: libvirt-6.0.0/src/libxl/libxl_migration.c
|
||||
virStreamPtr st,
|
||||
struct libxlTunnelControl **tnl)
|
||||
{
|
||||
@@ -935,7 +956,7 @@ libxlMigrationSrcStartTunnel(libxlDriver
|
||||
@@ -934,7 +955,7 @@ libxlMigrationSrcStartTunnel(libxlDriver
|
||||
|
||||
virObjectUnlock(vm);
|
||||
/* Send data to pipe */
|
||||
@ -163,7 +163,7 @@ Index: libvirt-6.0.0/src/libxl/libxl_migration.c
|
||||
virObjectLock(vm);
|
||||
|
||||
out:
|
||||
@@ -971,7 +992,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||
@@ -970,7 +991,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||
const char *dconnuri G_GNUC_UNUSED,
|
||||
const char *dname,
|
||||
const char *uri,
|
||||
@ -172,7 +172,7 @@ Index: libvirt-6.0.0/src/libxl/libxl_migration.c
|
||||
{
|
||||
virDomainPtr ddomain = NULL;
|
||||
virTypedParameterPtr params = NULL;
|
||||
@@ -1016,11 +1037,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||
@@ -1015,11 +1036,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||
/* We don't require the destination to have P2P support
|
||||
* as it looks to be normal migration from the receiver perspective.
|
||||
*/
|
||||
@ -186,7 +186,7 @@ Index: libvirt-6.0.0/src/libxl/libxl_migration.c
|
||||
if (!(st = virStreamNew(dconn, 0)))
|
||||
goto confirm;
|
||||
ret = dconn->driver->domainMigratePrepareTunnel3Params
|
||||
@@ -1034,7 +1055,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||
@@ -1033,7 +1054,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||
if (ret == -1)
|
||||
goto confirm;
|
||||
|
||||
@ -195,7 +195,7 @@ Index: libvirt-6.0.0/src/libxl/libxl_migration.c
|
||||
if (uri_out) {
|
||||
if (virTypedParamsReplaceString(¶ms, &nparams,
|
||||
VIR_MIGRATE_PARAM_URI, uri_out) < 0) {
|
||||
@@ -1049,11 +1070,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||
@@ -1048,11 +1069,11 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||
}
|
||||
|
||||
VIR_DEBUG("Perform3 uri=%s", NULLSTR(uri_out));
|
||||
@ -210,7 +210,7 @@ Index: libvirt-6.0.0/src/libxl/libxl_migration.c
|
||||
if (ret < 0) {
|
||||
notify_source = false;
|
||||
virErrorPreserveLast(&orig_err);
|
||||
@@ -1088,7 +1109,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||
@@ -1087,7 +1108,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||
confirm:
|
||||
if (notify_source) {
|
||||
VIR_DEBUG("Confirm3 cancelled=%d vm=%p", cancelled, vm);
|
||||
@ -219,7 +219,7 @@ Index: libvirt-6.0.0/src/libxl/libxl_migration.c
|
||||
|
||||
if (ret < 0)
|
||||
VIR_WARN("Guest %s probably left in 'paused' state on source",
|
||||
@@ -1096,7 +1117,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||
@@ -1095,7 +1116,7 @@ libxlDoMigrateSrcP2P(libxlDriverPrivateP
|
||||
}
|
||||
|
||||
cleanup:
|
||||
@ -228,7 +228,7 @@ Index: libvirt-6.0.0/src/libxl/libxl_migration.c
|
||||
libxlMigrationSrcStopTunnel(tc);
|
||||
virObjectUnref(st);
|
||||
}
|
||||
@@ -1140,7 +1161,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
|
||||
@@ -1139,7 +1160,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
|
||||
const char *dconnuri,
|
||||
const char *uri_str G_GNUC_UNUSED,
|
||||
const char *dname,
|
||||
@ -237,7 +237,7 @@ Index: libvirt-6.0.0/src/libxl/libxl_migration.c
|
||||
{
|
||||
int ret = -1;
|
||||
bool useParams;
|
||||
@@ -1175,7 +1196,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
|
||||
@@ -1174,7 +1195,7 @@ libxlDomainMigrationSrcPerformP2P(libxlD
|
||||
}
|
||||
|
||||
ret = libxlDoMigrateSrcP2P(driver, vm, sconn, xmlin, dconn, dconnuri,
|
||||
@ -246,7 +246,7 @@ Index: libvirt-6.0.0/src/libxl/libxl_migration.c
|
||||
|
||||
if (ret < 0) {
|
||||
/*
|
||||
@@ -1202,7 +1223,7 @@ libxlDomainMigrationSrcPerform(libxlDriv
|
||||
@@ -1201,7 +1222,7 @@ libxlDomainMigrationSrcPerform(libxlDriv
|
||||
const char *dconnuri G_GNUC_UNUSED,
|
||||
const char *uri_str,
|
||||
const char *dname G_GNUC_UNUSED,
|
||||
@ -255,7 +255,7 @@ Index: libvirt-6.0.0/src/libxl/libxl_migration.c
|
||||
{
|
||||
libxlDomainObjPrivatePtr priv = vm->privateData;
|
||||
char *hostname = NULL;
|
||||
@@ -1238,7 +1259,7 @@ libxlDomainMigrationSrcPerform(libxlDriv
|
||||
@@ -1237,7 +1258,7 @@ libxlDomainMigrationSrcPerform(libxlDriv
|
||||
|
||||
/* suspend vm and send saved data to dst through socket fd */
|
||||
virObjectUnlock(vm);
|
||||
@ -264,10 +264,10 @@ Index: libvirt-6.0.0/src/libxl/libxl_migration.c
|
||||
virObjectLock(vm);
|
||||
|
||||
if (ret == 0) {
|
||||
Index: libvirt-6.0.0/src/libxl/libxl_migration.h
|
||||
Index: libvirt-6.1.0/src/libxl/libxl_migration.h
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/libxl/libxl_migration.h
|
||||
+++ libvirt-6.0.0/src/libxl/libxl_migration.h
|
||||
--- libvirt-6.1.0.orig/src/libxl/libxl_migration.h
|
||||
+++ libvirt-6.1.0/src/libxl/libxl_migration.h
|
||||
@@ -35,6 +35,10 @@
|
||||
VIR_MIGRATE_PARAM_URI, VIR_TYPED_PARAM_STRING, \
|
||||
VIR_MIGRATE_PARAM_DEST_NAME, VIR_TYPED_PARAM_STRING, \
|
||||
@ -312,11 +312,11 @@ Index: libvirt-6.0.0/src/libxl/libxl_migration.h
|
||||
|
||||
virDomainPtr
|
||||
libxlDomainMigrationDstFinish(virConnectPtr dconn,
|
||||
Index: libvirt-6.0.0/tools/virsh-domain.c
|
||||
Index: libvirt-6.1.0/tools/virsh-domain.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/tools/virsh-domain.c
|
||||
+++ libvirt-6.0.0/tools/virsh-domain.c
|
||||
@@ -10589,6 +10589,22 @@ static const vshCmdOptDef opts_migrate[]
|
||||
--- libvirt-6.1.0.orig/tools/virsh-domain.c
|
||||
+++ libvirt-6.1.0/tools/virsh-domain.c
|
||||
@@ -10713,6 +10713,22 @@ static const vshCmdOptDef opts_migrate[]
|
||||
.type = VSH_OT_STRING,
|
||||
.help = N_("override the destination host name used for TLS verification")
|
||||
},
|
||||
@ -339,15 +339,15 @@ Index: libvirt-6.0.0/tools/virsh-domain.c
|
||||
{.name = NULL}
|
||||
};
|
||||
|
||||
@@ -10612,6 +10628,7 @@ doMigrate(void *opaque)
|
||||
@@ -10735,6 +10751,7 @@ doMigrate(void *opaque)
|
||||
unsigned long long ullOpt = 0;
|
||||
int rv;
|
||||
virConnectPtr dconn = data->dconn;
|
||||
+ unsigned int uint_opt = 0;
|
||||
#ifndef WIN32
|
||||
sigset_t sigmask, oldsigmask;
|
||||
|
||||
sigemptyset(&sigmask);
|
||||
sigaddset(&sigmask, SIGINT);
|
||||
@@ -10731,6 +10748,27 @@ doMigrate(void *opaque)
|
||||
@@ -10857,6 +10874,27 @@ doMigrate(void *opaque)
|
||||
goto save_error;
|
||||
}
|
||||
|
||||
@ -375,11 +375,11 @@ Index: libvirt-6.0.0/tools/virsh-domain.c
|
||||
if (vshCommandOptStringReq(ctl, cmd, "xml", &opt) < 0)
|
||||
goto out;
|
||||
if (opt) {
|
||||
Index: libvirt-6.0.0/docs/manpages/virsh.rst
|
||||
Index: libvirt-6.1.0/docs/manpages/virsh.rst
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/docs/manpages/virsh.rst
|
||||
+++ libvirt-6.0.0/docs/manpages/virsh.rst
|
||||
@@ -3088,6 +3088,8 @@ migrate
|
||||
--- libvirt-6.1.0.orig/docs/manpages/virsh.rst
|
||||
+++ libvirt-6.1.0/docs/manpages/virsh.rst
|
||||
@@ -3093,6 +3093,8 @@ migrate
|
||||
[--postcopy-bandwidth bandwidth]
|
||||
[--parallel [--parallel-connections connections]]
|
||||
[--bandwidth bandwidth] [--tls-destination hostname]
|
||||
@ -388,7 +388,7 @@ Index: libvirt-6.0.0/docs/manpages/virsh.rst
|
||||
|
||||
Migrate domain to another host. Add *--live* for live migration; <--p2p>
|
||||
for peer-2-peer migration; *--direct* for direct migration; or *--tunnelled*
|
||||
@@ -3193,6 +3195,14 @@ parallel connections. The number of such
|
||||
@@ -3198,6 +3200,14 @@ parallel connections. The number of such
|
||||
network link between the source and the target and thus speeding up the
|
||||
migration.
|
||||
|
||||
|
@ -7,11 +7,11 @@ and npiv.
|
||||
|
||||
For more details, see bsc#954872 and FATE#319810
|
||||
|
||||
Index: libvirt-6.0.0/src/libxl/libxl_conf.c
|
||||
Index: libvirt-6.1.0/src/libxl/libxl_conf.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.0.0/src/libxl/libxl_conf.c
|
||||
@@ -867,6 +867,22 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||
--- libvirt-6.1.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.1.0/src/libxl/libxl_conf.c
|
||||
@@ -866,6 +866,22 @@ libxlDiskSetDiscard(libxl_device_disk *x
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -34,7 +34,7 @@ Index: libvirt-6.0.0/src/libxl/libxl_conf.c
|
||||
static void
|
||||
libxlDiskSetCacheMode(libxl_device_disk *x_disk, int cachemode)
|
||||
{
|
||||
@@ -1007,6 +1023,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
|
||||
@@ -1006,6 +1022,7 @@ libxlMakeNetworkDiskSrc(virStorageSource
|
||||
int
|
||||
libxlMakeDisk(virDomainDiskDefPtr l_disk, libxl_device_disk *x_disk)
|
||||
{
|
||||
@ -42,7 +42,7 @@ Index: libvirt-6.0.0/src/libxl/libxl_conf.c
|
||||
const char *driver = virDomainDiskGetDriver(l_disk);
|
||||
int format = virDomainDiskGetFormat(l_disk);
|
||||
int actual_type = virStorageSourceGetActualType(l_disk->src);
|
||||
@@ -1022,7 +1039,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
||||
@@ -1021,7 +1038,7 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
||||
if (libxlMakeNetworkDiskSrc(l_disk->src, &x_disk->pdev_path) < 0)
|
||||
return -1;
|
||||
} else {
|
||||
@ -51,7 +51,7 @@ Index: libvirt-6.0.0/src/libxl/libxl_conf.c
|
||||
}
|
||||
|
||||
x_disk->vdev = g_strdup(l_disk->dst);
|
||||
@@ -1133,6 +1150,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
||||
@@ -1132,6 +1149,9 @@ libxlMakeDisk(virDomainDiskDefPtr l_disk
|
||||
if (libxlDiskSetDiscard(x_disk, l_disk->discard) < 0)
|
||||
return -1;
|
||||
libxlDiskSetCacheMode(x_disk, l_disk->cachemode);
|
||||
|
@ -13,19 +13,11 @@ device with the same name that is being created.
|
||||
src/lxc/lxc_process.c | 1 +
|
||||
3 files changed, 4 insertions(+)
|
||||
|
||||
Index: libvirt-6.0.0/src/lxc/lxc_controller.c
|
||||
Index: libvirt-6.1.0/src/lxc/lxc_controller.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/lxc/lxc_controller.c
|
||||
+++ libvirt-6.0.0/src/lxc/lxc_controller.c
|
||||
@@ -69,6 +69,7 @@
|
||||
#include "rpc/virnetdaemon.h"
|
||||
#include "virstring.h"
|
||||
#include "virgettext.h"
|
||||
+#include "virutil.h"
|
||||
|
||||
#define VIR_FROM_THIS VIR_FROM_LXC
|
||||
|
||||
@@ -2009,6 +2010,7 @@ static int virLXCControllerDeleteInterfa
|
||||
--- libvirt-6.1.0.orig/src/lxc/lxc_controller.c
|
||||
+++ libvirt-6.1.0/src/lxc/lxc_controller.c
|
||||
@@ -1985,6 +1985,7 @@ static int virLXCControllerDeleteInterfa
|
||||
if (virNetDevVethDelete(ctrl->veths[i]) < 0)
|
||||
ret = -1;
|
||||
}
|
||||
@ -33,11 +25,11 @@ Index: libvirt-6.0.0/src/lxc/lxc_controller.c
|
||||
|
||||
return ret;
|
||||
}
|
||||
Index: libvirt-6.0.0/src/lxc/lxc_driver.c
|
||||
Index: libvirt-6.1.0/src/lxc/lxc_driver.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/lxc/lxc_driver.c
|
||||
+++ libvirt-6.0.0/src/lxc/lxc_driver.c
|
||||
@@ -70,6 +70,7 @@
|
||||
--- libvirt-6.1.0.orig/src/lxc/lxc_driver.c
|
||||
+++ libvirt-6.1.0/src/lxc/lxc_driver.c
|
||||
@@ -67,6 +67,7 @@
|
||||
#include "virtime.h"
|
||||
#include "virtypedparam.h"
|
||||
#include "viruri.h"
|
||||
@ -45,7 +37,7 @@ Index: libvirt-6.0.0/src/lxc/lxc_driver.c
|
||||
#include "virstring.h"
|
||||
#include "viraccessapicheck.h"
|
||||
#include "viraccessapichecklxc.h"
|
||||
@@ -3903,6 +3904,7 @@ lxcDomainAttachDeviceNetLive(virLXCDrive
|
||||
@@ -3551,6 +3552,7 @@ lxcDomainAttachDeviceNetLive(virLXCDrive
|
||||
case VIR_DOMAIN_NET_TYPE_NETWORK:
|
||||
case VIR_DOMAIN_NET_TYPE_ETHERNET:
|
||||
ignore_value(virNetDevVethDelete(veth));
|
||||
@ -53,7 +45,7 @@ Index: libvirt-6.0.0/src/lxc/lxc_driver.c
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_NET_TYPE_DIRECT:
|
||||
@@ -4343,6 +4345,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb
|
||||
@@ -3991,6 +3993,7 @@ lxcDomainDetachDeviceNetLive(virDomainOb
|
||||
virDomainAuditNet(vm, detach, NULL, "detach", false);
|
||||
goto cleanup;
|
||||
}
|
||||
@ -61,18 +53,18 @@ Index: libvirt-6.0.0/src/lxc/lxc_driver.c
|
||||
break;
|
||||
|
||||
/* It'd be nice to support this, but with macvlan
|
||||
Index: libvirt-6.0.0/src/lxc/lxc_process.c
|
||||
Index: libvirt-6.1.0/src/lxc/lxc_process.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/lxc/lxc_process.c
|
||||
+++ libvirt-6.0.0/src/lxc/lxc_process.c
|
||||
@@ -51,6 +51,7 @@
|
||||
#include "viratomic.h"
|
||||
--- libvirt-6.1.0.orig/src/lxc/lxc_process.c
|
||||
+++ libvirt-6.1.0/src/lxc/lxc_process.c
|
||||
@@ -50,6 +50,7 @@
|
||||
#include "virstring.h"
|
||||
#include "virprocess.h"
|
||||
#include "virsystemd.h"
|
||||
+#include "virutil.h"
|
||||
#include "netdev_bandwidth_conf.h"
|
||||
#include "virutil.h"
|
||||
|
||||
#define VIR_FROM_THIS VIR_FROM_LXC
|
||||
@@ -231,6 +232,7 @@ static void virLXCProcessCleanup(virLXCD
|
||||
VIR_WARN("Unable to release network device '%s'", NULLSTR(iface->ifname));
|
||||
}
|
||||
|
@ -17,11 +17,11 @@ Signed-off-by: Martin Wilck <mwilck@suse.com>
|
||||
tests/networkxml2confdata/dhcp6host-routed-network.conf | 1 -
|
||||
2 files changed, 8 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: libvirt-6.0.0/src/network/bridge_driver.c
|
||||
Index: libvirt-6.1.0/src/network/bridge_driver.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/network/bridge_driver.c
|
||||
+++ libvirt-6.0.0/src/network/bridge_driver.c
|
||||
@@ -1497,7 +1497,14 @@ networkDnsmasqConfContents(virNetworkObj
|
||||
--- libvirt-6.1.0.orig/src/network/bridge_driver.c
|
||||
+++ libvirt-6.1.0/src/network/bridge_driver.c
|
||||
@@ -1506,7 +1506,14 @@ networkDnsmasqConfContents(virNetworkObj
|
||||
if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET)) {
|
||||
if (ipdef->nranges || ipdef->nhosts) {
|
||||
virBufferAddLit(&configbuf, "dhcp-no-override\n");
|
||||
@ -37,10 +37,10 @@ Index: libvirt-6.0.0/src/network/bridge_driver.c
|
||||
}
|
||||
|
||||
if (ipdef->tftproot) {
|
||||
Index: libvirt-6.0.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||
Index: libvirt-6.1.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||
+++ libvirt-6.0.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||
--- libvirt-6.1.0.orig/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||
+++ libvirt-6.1.0/tests/networkxml2confdata/dhcp6host-routed-network.conf
|
||||
@@ -10,7 +10,6 @@ bind-dynamic
|
||||
interface=virbr1
|
||||
dhcp-range=192.168.122.1,static
|
||||
|
@ -2,11 +2,11 @@ Canonicalize hostarch name ppc64le to ppc64
|
||||
|
||||
See bnc#894956
|
||||
|
||||
Index: libvirt-6.0.0/src/util/virarch.c
|
||||
Index: libvirt-6.1.0/src/util/virarch.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/util/virarch.c
|
||||
+++ libvirt-6.0.0/src/util/virarch.c
|
||||
@@ -172,6 +172,8 @@ virArch virArchFromHost(void)
|
||||
--- libvirt-6.1.0.orig/src/util/virarch.c
|
||||
+++ libvirt-6.1.0/src/util/virarch.c
|
||||
@@ -220,6 +220,8 @@ virArch virArchFromHost(void)
|
||||
arch = VIR_ARCH_I686;
|
||||
} else if (STREQ(ut.machine, "amd64")) {
|
||||
arch = VIR_ARCH_X86_64;
|
||||
|
@ -1,7 +1,7 @@
|
||||
Index: libvirt-6.0.0/src/security/apparmor/libvirt-qemu
|
||||
Index: libvirt-6.1.0/src/security/apparmor/libvirt-qemu
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/security/apparmor/libvirt-qemu
|
||||
+++ libvirt-6.0.0/src/security/apparmor/libvirt-qemu
|
||||
--- libvirt-6.1.0.orig/src/security/apparmor/libvirt-qemu
|
||||
+++ libvirt-6.1.0/src/security/apparmor/libvirt-qemu
|
||||
@@ -228,3 +228,6 @@
|
||||
# required for sasl GSSAPI plugin
|
||||
/etc/gss/mech.d/ r,
|
||||
|
@ -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-6.0.0/src/libxl/xen_common.c
|
||||
Index: libvirt-6.1.0/src/libxl/xen_common.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/libxl/xen_common.c
|
||||
+++ libvirt-6.0.0/src/libxl/xen_common.c
|
||||
--- libvirt-6.1.0.orig/src/libxl/xen_common.c
|
||||
+++ libvirt-6.1.0/src/libxl/xen_common.c
|
||||
@@ -381,12 +381,19 @@ xenParsePCI(char *entry)
|
||||
int busID;
|
||||
int slotID;
|
||||
|
@ -8,11 +8,11 @@ It was also noticed that the per-domain profiles need a libnl rule
|
||||
to squelch a denial when starting confined domains.
|
||||
|
||||
Found while investigating bsc#1058847
|
||||
Index: libvirt-6.0.0/src/security/apparmor/libvirt-qemu
|
||||
Index: libvirt-6.1.0/src/security/apparmor/libvirt-qemu
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/security/apparmor/libvirt-qemu
|
||||
+++ libvirt-6.0.0/src/security/apparmor/libvirt-qemu
|
||||
@@ -63,6 +63,7 @@
|
||||
--- libvirt-6.1.0.orig/src/security/apparmor/libvirt-qemu
|
||||
+++ libvirt-6.1.0/src/security/apparmor/libvirt-qemu
|
||||
@@ -61,6 +61,7 @@
|
||||
#/dev/fb* rw,
|
||||
|
||||
/etc/pulse/client.conf r,
|
||||
@ -20,16 +20,16 @@ Index: libvirt-6.0.0/src/security/apparmor/libvirt-qemu
|
||||
@{HOME}/.pulse-cookie rwk,
|
||||
owner /root/.pulse-cookie rwk,
|
||||
owner /root/.pulse/ rw,
|
||||
Index: libvirt-6.0.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper
|
||||
Index: libvirt-6.1.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/security/apparmor/usr.lib.libvirt.virt-aa-helper
|
||||
+++ libvirt-6.0.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper
|
||||
@@ -20,7 +20,7 @@ profile virt-aa-helper /usr/{lib,lib64}/
|
||||
--- libvirt-6.1.0.orig/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
+++ libvirt-6.1.0/src/security/apparmor/usr.lib.libvirt.virt-aa-helper.in
|
||||
@@ -19,7 +19,7 @@ profile virt-aa-helper @libexecdir@/virt
|
||||
# Used when internally running another command (namely apparmor_parser)
|
||||
@{PROC}/@{pid}/fd/ r,
|
||||
|
||||
- /etc/libnl-3/classid r,
|
||||
+ /etc/libnl*/classid r,
|
||||
- @sysconfdir@/libnl-3/classid r,
|
||||
+ @sysconfdir@/libnl*/classid r,
|
||||
|
||||
# for gl enabled graphics
|
||||
/dev/dri/{,*} r,
|
||||
|
@ -1,9 +1,9 @@
|
||||
Adjust libvirt-guests service to conform to SUSE standards
|
||||
|
||||
Index: libvirt-6.0.0/tools/libvirt-guests.sh.in
|
||||
Index: libvirt-6.1.0/tools/libvirt-guests.sh.in
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/tools/libvirt-guests.sh.in
|
||||
+++ libvirt-6.0.0/tools/libvirt-guests.sh.in
|
||||
--- libvirt-6.1.0.orig/tools/libvirt-guests.sh.in
|
||||
+++ libvirt-6.1.0/tools/libvirt-guests.sh.in
|
||||
@@ -16,14 +16,13 @@
|
||||
# License along with this library. If not, see
|
||||
# <http://www.gnu.org/licenses/>.
|
||||
@ -163,10 +163,10 @@ Index: libvirt-6.0.0/tools/libvirt-guests.sh.in
|
||||
esac
|
||||
-exit $RETVAL
|
||||
+rc_exit
|
||||
Index: libvirt-6.0.0/tools/libvirt-guests.sysconf
|
||||
Index: libvirt-6.1.0/tools/libvirt-guests.sysconf
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/tools/libvirt-guests.sysconf
|
||||
+++ libvirt-6.0.0/tools/libvirt-guests.sysconf
|
||||
--- libvirt-6.1.0.orig/tools/libvirt-guests.sysconf
|
||||
+++ libvirt-6.1.0/tools/libvirt-guests.sysconf
|
||||
@@ -1,19 +1,29 @@
|
||||
+## Path: System/Virtualization/libvirt-guests
|
||||
+
|
||||
|
@ -3,10 +3,10 @@ Disable TLS by default
|
||||
On SUSE distros, the default is for libvirtd to listen only on the
|
||||
Unix Domain Socket. The libvirt client still provides remote access
|
||||
via a SSH tunnel.
|
||||
Index: libvirt-6.0.0/src/remote/remote_daemon_config.c
|
||||
Index: libvirt-6.1.0/src/remote/remote_daemon_config.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/remote/remote_daemon_config.c
|
||||
+++ libvirt-6.0.0/src/remote/remote_daemon_config.c
|
||||
--- libvirt-6.1.0.orig/src/remote/remote_daemon_config.c
|
||||
+++ libvirt-6.1.0/src/remote/remote_daemon_config.c
|
||||
@@ -99,7 +99,7 @@ daemonConfigNew(bool privileged G_GNUC_U
|
||||
|
||||
#ifdef WITH_IP
|
||||
@ -16,10 +16,10 @@ Index: libvirt-6.0.0/src/remote/remote_daemon_config.c
|
||||
# else /* ! LIBVIRTD */
|
||||
data->listen_tls = 0; /* Always honoured, --listen doesn't exist. */
|
||||
# endif /* ! LIBVIRTD */
|
||||
Index: libvirt-6.0.0/src/remote/libvirtd.conf.in
|
||||
Index: libvirt-6.1.0/src/remote/libvirtd.conf.in
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/remote/libvirtd.conf.in
|
||||
+++ libvirt-6.0.0/src/remote/libvirtd.conf.in
|
||||
--- libvirt-6.1.0.orig/src/remote/libvirtd.conf.in
|
||||
+++ libvirt-6.1.0/src/remote/libvirtd.conf.in
|
||||
@@ -17,8 +17,8 @@
|
||||
# It is necessary to setup a CA and issue server certificates before
|
||||
# using this capability.
|
||||
|
@ -1,9 +1,9 @@
|
||||
Adjust libvirtd sysconfig file to conform to SUSE standards
|
||||
|
||||
Index: libvirt-6.0.0/src/remote/libvirtd.sysconf
|
||||
Index: libvirt-6.1.0/src/remote/libvirtd.sysconf
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/remote/libvirtd.sysconf
|
||||
+++ libvirt-6.0.0/src/remote/libvirtd.sysconf
|
||||
--- libvirt-6.1.0.orig/src/remote/libvirtd.sysconf
|
||||
+++ libvirt-6.1.0/src/remote/libvirtd.sysconf
|
||||
@@ -1,5 +1,9 @@
|
||||
+## Path: System/Virtualization/libvirt
|
||||
# Customizations for the libvirtd.service systemd unit
|
||||
|
@ -6,10 +6,10 @@ autoballooning. This patch changes libvirt to also disable autoballooning
|
||||
by default. It can only be enabled with the 'autoballoon' setting in
|
||||
libxl.conf. See jsc#SLE-3059 for more details.
|
||||
|
||||
Index: libvirt-6.0.0/src/libxl/libxl.conf
|
||||
Index: libvirt-6.1.0/src/libxl/libxl.conf
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/libxl/libxl.conf
|
||||
+++ libvirt-6.0.0/src/libxl/libxl.conf
|
||||
--- libvirt-6.1.0.orig/src/libxl/libxl.conf
|
||||
+++ libvirt-6.1.0/src/libxl/libxl.conf
|
||||
@@ -4,12 +4,11 @@
|
||||
|
||||
# Enable autoballooning of domain0
|
||||
@ -27,11 +27,11 @@ Index: libvirt-6.0.0/src/libxl/libxl.conf
|
||||
|
||||
|
||||
# In order to prevent accidentally starting two domains that
|
||||
Index: libvirt-6.0.0/src/libxl/libxl_conf.c
|
||||
Index: libvirt-6.1.0/src/libxl/libxl_conf.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.0.0/src/libxl/libxl_conf.c
|
||||
@@ -1699,15 +1699,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa
|
||||
--- libvirt-6.1.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.1.0/src/libxl/libxl_conf.c
|
||||
@@ -1698,15 +1698,12 @@ libxlMakeBuildInfoVfb(virPortAllocatorRa
|
||||
/*
|
||||
* Get domain0 autoballoon configuration. Honor user-specified
|
||||
* setting in libxl.conf first. If not specified, autoballooning
|
||||
@ -48,7 +48,7 @@ Index: libvirt-6.0.0/src/libxl/libxl_conf.c
|
||||
int res;
|
||||
|
||||
res = virConfGetValueBool(conf, "autoballoon", &cfg->autoballoon);
|
||||
@@ -1716,15 +1713,8 @@ libxlGetAutoballoonConf(libxlDriverConfi
|
||||
@@ -1715,15 +1712,8 @@ libxlGetAutoballoonConf(libxlDriverConfi
|
||||
else if (res == 1)
|
||||
return 0;
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
Adjust paths of OVMF firmwares on SUSE distros
|
||||
|
||||
Index: libvirt-6.0.0/src/qemu/qemu.conf
|
||||
Index: libvirt-6.1.0/src/qemu/qemu.conf
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/qemu/qemu.conf
|
||||
+++ libvirt-6.0.0/src/qemu/qemu.conf
|
||||
--- libvirt-6.1.0.orig/src/qemu/qemu.conf
|
||||
+++ libvirt-6.1.0/src/qemu/qemu.conf
|
||||
@@ -788,10 +788,9 @@
|
||||
# for x86_64 and i686, but it's AAVMF for aarch64. The libvirt default
|
||||
# follows this scheme.
|
||||
@ -18,11 +18,11 @@ Index: libvirt-6.0.0/src/qemu/qemu.conf
|
||||
#]
|
||||
|
||||
# The backend to use for handling stdout/stderr output from
|
||||
Index: libvirt-6.0.0/src/qemu/qemu_conf.c
|
||||
Index: libvirt-6.1.0/src/qemu/qemu_conf.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/qemu/qemu_conf.c
|
||||
+++ libvirt-6.0.0/src/qemu/qemu_conf.c
|
||||
@@ -97,10 +97,9 @@ qemuDriverUnlock(virQEMUDriverPtr driver
|
||||
--- libvirt-6.1.0.orig/src/qemu/qemu_conf.c
|
||||
+++ libvirt-6.1.0/src/qemu/qemu_conf.c
|
||||
@@ -95,10 +95,9 @@ qemuDriverUnlock(virQEMUDriverPtr driver
|
||||
|
||||
#ifndef DEFAULT_LOADER_NVRAM
|
||||
# define DEFAULT_LOADER_NVRAM \
|
||||
@ -36,11 +36,11 @@ Index: libvirt-6.0.0/src/qemu/qemu_conf.c
|
||||
#endif
|
||||
|
||||
|
||||
Index: libvirt-6.0.0/src/security/virt-aa-helper.c
|
||||
Index: libvirt-6.1.0/src/security/virt-aa-helper.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/security/virt-aa-helper.c
|
||||
+++ libvirt-6.0.0/src/security/virt-aa-helper.c
|
||||
@@ -489,7 +489,8 @@ valid_path(const char *path, const bool
|
||||
--- libvirt-6.1.0.orig/src/security/virt-aa-helper.c
|
||||
+++ libvirt-6.1.0/src/security/virt-aa-helper.c
|
||||
@@ -490,7 +490,8 @@ valid_path(const char *path, const bool
|
||||
"/usr/share/ovmf/", /* for OVMF images */
|
||||
"/usr/share/AAVMF/", /* for AAVMF images */
|
||||
"/usr/share/qemu-efi/", /* for AAVMF images */
|
||||
|
@ -7,10 +7,10 @@ suse-qemu-conf-secdriver.patch, suse-qemu-conf-lockmgr.patch,
|
||||
etc.), but for now they are all lumped together in this
|
||||
single patch.
|
||||
|
||||
Index: libvirt-6.0.0/src/qemu/qemu.conf
|
||||
Index: libvirt-6.1.0/src/qemu/qemu.conf
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/qemu/qemu.conf
|
||||
+++ libvirt-6.0.0/src/qemu/qemu.conf
|
||||
--- libvirt-6.1.0.orig/src/qemu/qemu.conf
|
||||
+++ libvirt-6.1.0/src/qemu/qemu.conf
|
||||
@@ -420,10 +420,19 @@
|
||||
# isolation, but it cannot appear in a list of drivers.
|
||||
#
|
||||
@ -60,11 +60,11 @@ Index: libvirt-6.0.0/src/qemu/qemu.conf
|
||||
#
|
||||
#lock_manager = "lockd"
|
||||
|
||||
Index: libvirt-6.0.0/src/qemu/qemu_conf.c
|
||||
Index: libvirt-6.1.0/src/qemu/qemu_conf.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/qemu/qemu_conf.c
|
||||
+++ libvirt-6.0.0/src/qemu/qemu_conf.c
|
||||
@@ -229,7 +229,7 @@ virQEMUDriverConfigPtr virQEMUDriverConf
|
||||
--- libvirt-6.1.0.orig/src/qemu/qemu_conf.c
|
||||
+++ libvirt-6.1.0/src/qemu/qemu_conf.c
|
||||
@@ -263,7 +263,7 @@ virQEMUDriverConfigPtr virQEMUDriverConf
|
||||
cfg->prHelperName = g_strdup(QEMU_PR_HELPER);
|
||||
cfg->slirpHelperName = g_strdup(QEMU_SLIRP_HELPER);
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
Adjust virtlockd sysconfig file to conform to SUSE standards
|
||||
|
||||
Index: libvirt-6.0.0/src/locking/virtlockd.sysconf
|
||||
Index: libvirt-6.1.0/src/locking/virtlockd.sysconf
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/locking/virtlockd.sysconf
|
||||
+++ libvirt-6.0.0/src/locking/virtlockd.sysconf
|
||||
--- libvirt-6.1.0.orig/src/locking/virtlockd.sysconf
|
||||
+++ libvirt-6.1.0/src/locking/virtlockd.sysconf
|
||||
@@ -1,3 +1,7 @@
|
||||
+## Path: System/Virtualization/virtlockd
|
||||
+
|
||||
|
@ -1,9 +1,9 @@
|
||||
Adjust virtlogd sysconfig file to conform to SUSE standards
|
||||
|
||||
Index: libvirt-6.0.0/src/logging/virtlogd.sysconf
|
||||
Index: libvirt-6.1.0/src/logging/virtlogd.sysconf
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/logging/virtlogd.sysconf
|
||||
+++ libvirt-6.0.0/src/logging/virtlogd.sysconf
|
||||
--- libvirt-6.1.0.orig/src/logging/virtlogd.sysconf
|
||||
+++ libvirt-6.1.0/src/logging/virtlogd.sysconf
|
||||
@@ -1,3 +1,7 @@
|
||||
+## Path: System/Virtualization/virtlogd
|
||||
+
|
||||
|
@ -5,13 +5,13 @@ upstream support for firmware autoselection in the xen driver. Sadly, the
|
||||
upstream efforts to improve firmware handling in the qemu driver broke
|
||||
the firmware handling in the xen driver.
|
||||
|
||||
Index: libvirt-6.0.0/src/libxl/libxl_conf.c
|
||||
Index: libvirt-6.1.0/src/libxl/libxl_conf.c
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.0.0/src/libxl/libxl_conf.c
|
||||
@@ -1776,6 +1776,15 @@ libxlDriverConfigNew(void)
|
||||
goto error;
|
||||
}
|
||||
--- libvirt-6.1.0.orig/src/libxl/libxl_conf.c
|
||||
+++ libvirt-6.1.0/src/libxl/libxl_conf.c
|
||||
@@ -1738,6 +1738,15 @@ libxlDriverConfigNew(void)
|
||||
cfg->autoDumpDir = g_strdup(LIBXL_DUMP_DIR);
|
||||
cfg->channelDir = g_strdup(LIBXL_CHANNEL_DIR);
|
||||
|
||||
+ /* Begin hack ---
|
||||
+ * bsc#1159793: Until there is time to work on proper upstream support for
|
||||
|
@ -1,8 +1,8 @@
|
||||
Index: libvirt-6.0.0/tools/Makefile.am
|
||||
Index: libvirt-6.1.0/tools/Makefile.am
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/tools/Makefile.am
|
||||
+++ libvirt-6.0.0/tools/Makefile.am
|
||||
@@ -71,7 +71,7 @@ MAINTAINERCLEANFILES =
|
||||
--- libvirt-6.1.0.orig/tools/Makefile.am
|
||||
+++ libvirt-6.1.0/tools/Makefile.am
|
||||
@@ -70,7 +70,7 @@ MAINTAINERCLEANFILES =
|
||||
confdir = $(sysconfdir)/libvirt
|
||||
conf_DATA =
|
||||
|
||||
@ -11,10 +11,10 @@ Index: libvirt-6.0.0/tools/Makefile.am
|
||||
bin_PROGRAMS = virsh virt-admin
|
||||
libexec_SCRIPTS = libvirt-guests.sh
|
||||
|
||||
Index: libvirt-6.0.0/tools/virt-create-rootfs
|
||||
Index: libvirt-6.1.0/tools/virt-create-rootfs
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libvirt-6.0.0/tools/virt-create-rootfs
|
||||
+++ libvirt-6.1.0/tools/virt-create-rootfs
|
||||
@@ -0,0 +1,231 @@
|
||||
+#!/bin/sh
|
||||
+set -e
|
||||
@ -247,10 +247,10 @@ Index: libvirt-6.0.0/tools/virt-create-rootfs
|
||||
+ echo "pts/0" >> "$ROOT/etc/securetty"
|
||||
+ chroot "$ROOT" /usr/bin/passwd
|
||||
+fi
|
||||
Index: libvirt-6.0.0/docs/Makefile.am
|
||||
Index: libvirt-6.1.0/docs/Makefile.am
|
||||
===================================================================
|
||||
--- libvirt-6.0.0.orig/docs/Makefile.am
|
||||
+++ libvirt-6.0.0/docs/Makefile.am
|
||||
--- libvirt-6.1.0.orig/docs/Makefile.am
|
||||
+++ libvirt-6.1.0/docs/Makefile.am
|
||||
@@ -209,6 +209,7 @@ manpages1_rst = \
|
||||
manpages/virt-xml-validate.rst \
|
||||
manpages/virt-admin.rst \
|
||||
@ -259,10 +259,10 @@ Index: libvirt-6.0.0/docs/Makefile.am
|
||||
$(NULL)
|
||||
manpages7_rst = \
|
||||
$(KEYCODES:%=manpages/virkeycode-%.rst) \
|
||||
Index: libvirt-6.0.0/docs/manpages/virt-create-rootfs.rst
|
||||
Index: libvirt-6.1.0/docs/manpages/virt-create-rootfs.rst
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ libvirt-6.0.0/docs/manpages/virt-create-rootfs.rst
|
||||
+++ libvirt-6.1.0/docs/manpages/virt-create-rootfs.rst
|
||||
@@ -0,0 +1,88 @@
|
||||
+==================
|
||||
+virt-create-rootfs
|
||||
|
Loading…
Reference in New Issue
Block a user