Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7b7f8cc27f | |||
| a9cc41b082 | |||
| ce1593f88f |
@@ -1,31 +0,0 @@
|
||||
[suppress_function]
|
||||
symbol_version_regexp = LIBVIRT_PRIVATE.*
|
||||
soname_regexp = libvirt\\.so.*
|
||||
|
||||
[suppress_function]
|
||||
symbol_version_regexp = LIBVIRT_ADMIN_PRIVATE.*
|
||||
soname_regexp = libvirt-admin\\.so.*
|
||||
|
||||
[suppress_variable]
|
||||
symbol_version_regexp = LIBVIRT_PRIVATE.*
|
||||
soname_regexp = libvirt\\.so.*
|
||||
|
||||
[suppress_variable]
|
||||
symbol_version_regexp = LIBVIRT_ADMIN_PRIVATE.*
|
||||
soname_regexp = libvirt-admin\\.so.*
|
||||
|
||||
[suppress_function]
|
||||
symbol_version_regexp = .*
|
||||
soname_regexp = libvirt_storage_.*\\.so.*
|
||||
|
||||
[suppress_variable]
|
||||
symbol_version_regexp = .*
|
||||
soname_regexp = libvirt_storage_.*\\.so.*
|
||||
|
||||
[suppress_function]
|
||||
symbol_version_regexp = .*
|
||||
soname_regexp = libvirt_driver_.*\\.so.*
|
||||
|
||||
[suppress_variable]
|
||||
symbol_version_regexp = .*
|
||||
soname_regexp = libvirt_driver_.*\\.so.*
|
||||
@@ -0,0 +1,8 @@
|
||||
.build*.log
|
||||
*.rpm
|
||||
i686
|
||||
x86_64
|
||||
libvirt-*.tar.gz
|
||||
libvirt-0.6.0.tar.gz
|
||||
libvirt-0.6.1.tar.gz
|
||||
libvirt-0.6.2.tar.gz
|
||||
@@ -1,5 +0,0 @@
|
||||
.build*.log
|
||||
*.rpm
|
||||
i686
|
||||
x86_64
|
||||
libvirt-*.tar.xz
|
||||
@@ -1,66 +0,0 @@
|
||||
From 88c5b9f827779ae6fe5a6f08100a4b6184492a1c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>
|
||||
Date: Tue, 31 Aug 2021 10:59:39 +0100
|
||||
Subject: [PATCH] qemu, xen: add missing deps on virtlockd/virtlogd sockets
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
The QEMU driver uses both virtlogd and virtlockd, while the Xen driver
|
||||
uses virtlockd. The libvirtd.service unit contains deps on the socket
|
||||
units for these services, but these deps were missed in the modular
|
||||
daemons. As a result the virtlockd/virtlogd sockets are not started
|
||||
when the virtqemud/virtxend daemons are started.
|
||||
|
||||
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
|
||||
---
|
||||
src/libxl/virtxend.service.in | 2 ++
|
||||
src/qemu/virtqemud.service.in | 4 ++++
|
||||
2 files changed, 6 insertions(+)
|
||||
|
||||
diff --git a/src/libxl/virtxend.service.in b/src/libxl/virtxend.service.in
|
||||
index a863917467..19b19ce3e6 100644
|
||||
--- a/src/libxl/virtxend.service.in
|
||||
+++ b/src/libxl/virtxend.service.in
|
||||
@@ -1,6 +1,7 @@
|
||||
[Unit]
|
||||
Description=Virtualization xen daemon
|
||||
Conflicts=libvirtd.service
|
||||
+Requires=virtlockd.socket
|
||||
Requires=virtxend.socket
|
||||
Requires=virtxend-ro.socket
|
||||
Requires=virtxend-admin.socket
|
||||
@@ -25,6 +26,7 @@ KillMode=process
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
+Also=virtlockd.socket
|
||||
Also=virtxend.socket
|
||||
Also=virtxend-ro.socket
|
||||
Also=virtxend-admin.socket
|
||||
diff --git a/src/qemu/virtqemud.service.in b/src/qemu/virtqemud.service.in
|
||||
index 8abc9d3a7f..20e1b43a6e 100644
|
||||
--- a/src/qemu/virtqemud.service.in
|
||||
+++ b/src/qemu/virtqemud.service.in
|
||||
@@ -1,6 +1,8 @@
|
||||
[Unit]
|
||||
Description=Virtualization qemu daemon
|
||||
Conflicts=libvirtd.service
|
||||
+Requires=virtlogd.socket
|
||||
+Requires=virtlockd.socket
|
||||
Requires=virtqemud.socket
|
||||
Requires=virtqemud-ro.socket
|
||||
Requires=virtqemud-admin.socket
|
||||
@@ -42,6 +44,8 @@ LimitMEMLOCK=64M
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
+Also=virtlogd.socket
|
||||
+Also=virtlockd.socket
|
||||
Also=virtqemud.socket
|
||||
Also=virtqemud-ro.socket
|
||||
Also=virtqemud-admin.socket
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -1,81 +0,0 @@
|
||||
From 7e299ba649b1288d529c7595c0e6060c9ae0ff2a Mon Sep 17 00:00:00 2001
|
||||
From: Michal Privoznik <mprivozn@redhat.com>
|
||||
Date: Mon, 29 Nov 2021 09:57:49 +0100
|
||||
Subject: [PATCH 1/2] wireshark: Switch to tvb_bytes_to_str()
|
||||
|
||||
When the dissector sees a byte sequence that is either an opaque
|
||||
data (xdr_opaque) or a byte sequence (xdr_bytes) it formats the
|
||||
bytes as a hex numbers using our own implementation. But
|
||||
wireshark already provides a function for it: tvb_bytes_to_str().
|
||||
NB, the reason why it returns a const string is so that callers
|
||||
don't try to free it - the string is allocated using an allocator
|
||||
which will decide when to free it.
|
||||
|
||||
The wireshark formatter was introduced in wireshark commit of
|
||||
v1.99.2~479 and thus is present in the version we require at
|
||||
least (2.6.0).
|
||||
|
||||
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
tools/wireshark/src/packet-libvirt.c | 30 ++++++++--------------------
|
||||
1 file changed, 8 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/tools/wireshark/src/packet-libvirt.c b/tools/wireshark/src/packet-libvirt.c
|
||||
index f43919b05d..cb922b8070 100644
|
||||
--- a/tools/wireshark/src/packet-libvirt.c
|
||||
+++ b/tools/wireshark/src/packet-libvirt.c
|
||||
@@ -158,24 +158,6 @@ dissect_xdr_string(tvbuff_t *tvb, proto_tree *tree, XDR *xdrs, int hf,
|
||||
}
|
||||
}
|
||||
|
||||
-static const gchar *
|
||||
-format_xdr_bytes(guint8 *bytes, guint32 length)
|
||||
-{
|
||||
- gchar *buf;
|
||||
- guint32 i;
|
||||
-
|
||||
- if (length == 0)
|
||||
- return "";
|
||||
- buf = wmem_alloc(wmem_packet_scope(), length*2 + 1);
|
||||
- for (i = 0; i < length; i++) {
|
||||
- /* We know that buf has enough size to contain
|
||||
- 2 * length + '\0' characters. */
|
||||
- g_snprintf(buf, 2*(length - i) + 1, "%02x", bytes[i]);
|
||||
- buf += 2;
|
||||
- }
|
||||
- return buf - length*2;
|
||||
-}
|
||||
-
|
||||
static gboolean
|
||||
dissect_xdr_opaque(tvbuff_t *tvb, proto_tree *tree, XDR *xdrs, int hf,
|
||||
guint32 size)
|
||||
@@ -187,8 +169,10 @@ dissect_xdr_opaque(tvbuff_t *tvb, proto_tree *tree, XDR *xdrs, int hf,
|
||||
val = g_malloc(size);
|
||||
start = xdr_getpos(xdrs);
|
||||
if ((rc = xdr_opaque(xdrs, (caddr_t)val, size))) {
|
||||
- proto_tree_add_bytes_format_value(tree, hf, tvb, start, xdr_getpos(xdrs) - start,
|
||||
- NULL, "%s", format_xdr_bytes(val, size));
|
||||
+ gint len = xdr_getpos(xdrs) - start;
|
||||
+ const char *s = tvb_bytes_to_str(wmem_packet_scope(), tvb, start, len);
|
||||
+
|
||||
+ proto_tree_add_bytes_format_value(tree, hf, tvb, start, len, NULL, "%s", s);
|
||||
} else {
|
||||
proto_tree_add_item(tree, hf_libvirt_unknown, tvb, start, -1, ENC_NA);
|
||||
}
|
||||
@@ -207,8 +191,10 @@ dissect_xdr_bytes(tvbuff_t *tvb, proto_tree *tree, XDR *xdrs, int hf,
|
||||
|
||||
start = xdr_getpos(xdrs);
|
||||
if (xdr_bytes(xdrs, (char **)&val, &length, maxlen)) {
|
||||
- proto_tree_add_bytes_format_value(tree, hf, tvb, start, xdr_getpos(xdrs) - start,
|
||||
- NULL, "%s", format_xdr_bytes(val, length));
|
||||
+ gint len = xdr_getpos(xdrs) - start;
|
||||
+ const char *s = tvb_bytes_to_str(wmem_packet_scope(), tvb, start, len);
|
||||
+
|
||||
+ proto_tree_add_bytes_format_value(tree, hf, tvb, start, len, NULL, "%s", s);
|
||||
/* Seems I can't call xdr_free() for this case.
|
||||
It will raises SEGV by referencing out of bounds call stack */
|
||||
free(val);
|
||||
--
|
||||
2.33.1
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
From 010613cfd8dae6d85602a84c5c95b2d441e1b3d1 Mon Sep 17 00:00:00 2001
|
||||
From: Michal Privoznik <mprivozn@redhat.com>
|
||||
Date: Mon, 29 Nov 2021 10:20:05 +0100
|
||||
Subject: [PATCH 2/2] wireshark: Drop needless comment in dissect_xdr_bytes()
|
||||
|
||||
In the dissect_xdr_bytes() there's a comment that the string
|
||||
allocated by xdr_bytes() can't be freed using xdr_free(). Well,
|
||||
that is expected because xdr_bytes() used plain calloc() AND the
|
||||
string is not an XDR struct but plain 'char *' type. Passing it
|
||||
to xdr_free() must result in weird things happening.
|
||||
|
||||
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
|
||||
---
|
||||
tools/wireshark/src/packet-libvirt.c | 2 --
|
||||
1 file changed, 2 deletions(-)
|
||||
|
||||
diff --git a/tools/wireshark/src/packet-libvirt.c b/tools/wireshark/src/packet-libvirt.c
|
||||
index cb922b8070..eeacbcdf0e 100644
|
||||
--- a/tools/wireshark/src/packet-libvirt.c
|
||||
+++ b/tools/wireshark/src/packet-libvirt.c
|
||||
@@ -195,8 +195,6 @@ dissect_xdr_bytes(tvbuff_t *tvb, proto_tree *tree, XDR *xdrs, int hf,
|
||||
const char *s = tvb_bytes_to_str(wmem_packet_scope(), tvb, start, len);
|
||||
|
||||
proto_tree_add_bytes_format_value(tree, hf, tvb, start, len, NULL, "%s", s);
|
||||
- /* Seems I can't call xdr_free() for this case.
|
||||
- It will raises SEGV by referencing out of bounds call stack */
|
||||
free(val);
|
||||
return TRUE;
|
||||
} else {
|
||||
--
|
||||
2.33.1
|
||||
|
||||
@@ -1,78 +0,0 @@
|
||||
From 979d1ba3ae1332bda80cb6eca98e41dc4462a226 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?J=C3=A1n=20Tomko?= <jtomko@redhat.com>
|
||||
Date: Tue, 31 Aug 2021 11:41:55 +0200
|
||||
Subject: [PATCH] tests: virstoragetest: remove tests without backing type
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
As of qemu commit:
|
||||
|
||||
commit 497a30dbb065937d67f6c43af6dd78492e1d6f6d
|
||||
qemu-img: Require -F with -b backing image
|
||||
|
||||
creating images with backing images requires specifying the format.
|
||||
|
||||
Remove tests which do not pass the backing format on the command
|
||||
line.
|
||||
|
||||
Signed-off-by: Ján Tomko <jtomko@redhat.com>
|
||||
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
|
||||
---
|
||||
tests/virstoragetest.c | 33 ---------------------------------
|
||||
1 file changed, 33 deletions(-)
|
||||
|
||||
diff --git a/tests/virstoragetest.c b/tests/virstoragetest.c
|
||||
index 1b211b60e6..b80818bc7b 100644
|
||||
--- a/tests/virstoragetest.c
|
||||
+++ b/tests/virstoragetest.c
|
||||
@@ -638,30 +638,6 @@ mymain(void)
|
||||
};
|
||||
TEST_CHAIN(abswrap, VIR_STORAGE_FILE_QCOW2, (&wrap, &qcow2, &raw), EXP_PASS);
|
||||
|
||||
- /* Rewrite qcow2 and wrap file to omit backing file type */
|
||||
- virCommandFree(cmd);
|
||||
- cmd = virCommandNewArgList(qemuimg, "rebase", "-u", "-f", "qcow2",
|
||||
- "-b", absraw, "qcow2", NULL);
|
||||
- if (virCommandRun(cmd, NULL) < 0)
|
||||
- ret = -1;
|
||||
-
|
||||
- virCommandFree(cmd);
|
||||
- cmd = virCommandNewArgList(qemuimg, "rebase", "-u", "-f", "qcow2",
|
||||
- "-b", absqcow2, "wrap", NULL);
|
||||
- if (virCommandRun(cmd, NULL) < 0)
|
||||
- ret = -1;
|
||||
-
|
||||
- /* Qcow2 file with raw as absolute backing, backing format omitted */
|
||||
- testFileData wrap_as_raw = {
|
||||
- .expBackingStoreRaw = absqcow2,
|
||||
- .expCapacity = 1024,
|
||||
- .path = abswrap,
|
||||
- .type = VIR_STORAGE_TYPE_FILE,
|
||||
- .format = VIR_STORAGE_FILE_QCOW2,
|
||||
- };
|
||||
- TEST_CHAIN(abswrap, VIR_STORAGE_FILE_QCOW2,
|
||||
- (&wrap_as_raw, &qcow2_as_raw), EXP_FAIL);
|
||||
-
|
||||
/* Rewrite qcow2 to a missing backing file, with backing type */
|
||||
virCommandFree(cmd);
|
||||
cmd = virCommandNewArgList(qemuimg, "rebase", "-u", "-f", "qcow2",
|
||||
@@ -674,15 +650,6 @@ mymain(void)
|
||||
/* Qcow2 file with missing backing file but specified type */
|
||||
TEST_CHAIN(absqcow2, VIR_STORAGE_FILE_QCOW2, (&qcow2), EXP_FAIL);
|
||||
|
||||
- /* Rewrite qcow2 to a missing backing file, without backing type */
|
||||
- virCommandFree(cmd);
|
||||
- cmd = virCommandNewArgList(qemuimg, "rebase", "-u", "-f", "qcow2",
|
||||
- "-b", datadir "/bogus", "qcow2", NULL);
|
||||
- if (virCommandRun(cmd, NULL) < 0)
|
||||
- ret = -1;
|
||||
-
|
||||
- /* Qcow2 file with missing backing file and no specified type */
|
||||
- TEST_CHAIN(absqcow2, VIR_STORAGE_FILE_QCOW2, (&qcow2), EXP_FAIL);
|
||||
|
||||
/* Rewrite qcow2 to use an nbd: protocol as backend */
|
||||
virCommandFree(cmd);
|
||||
--
|
||||
2.33.1
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
# Makefile for source rpm: libvirt
|
||||
# $Id$
|
||||
NAME := libvirt
|
||||
SPECFILE = $(firstword $(wildcard *.spec))
|
||||
|
||||
define find-makefile-common
|
||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
||||
|
||||
ifeq ($(MAKEFILE_COMMON),)
|
||||
# attempt a checkout
|
||||
define checkout-makefile-common
|
||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
||||
endef
|
||||
|
||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
||||
endif
|
||||
|
||||
include $(MAKEFILE_COMMON)
|
||||
@@ -0,0 +1,26 @@
|
||||
From 0ae4c67ff5f1d24698c5cfc8a9719d333c892644 Mon Sep 17 00:00:00 2001
|
||||
From: Mark McLoughlin <markmc@redhat.com>
|
||||
Date: Thu, 16 Apr 2009 11:23:55 +0100
|
||||
Subject: [PATCH 1/3] qemu -drive takes format= not fmt=
|
||||
|
||||
Seems like a simple typo - it has been "format=" since the flag
|
||||
was introduced, but we added it as "fmt=".
|
||||
|
||||
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
|
||||
---
|
||||
src/qemu_conf.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/qemu_conf.c b/src/qemu_conf.c
|
||||
index f36c927..6f9e610 100644
|
||||
--- a/src/qemu_conf.c
|
||||
+++ b/src/qemu_conf.c
|
||||
@@ -1135,7 +1135,7 @@ int qemudBuildCommandLine(virConnectPtr conn,
|
||||
disk->device == VIR_DOMAIN_DISK_DEVICE_DISK)
|
||||
virBufferAddLit(&opt, ",boot=on");
|
||||
if (disk->driverType)
|
||||
- virBufferVSprintf(&opt, ",fmt=%s", disk->driverType);
|
||||
+ virBufferVSprintf(&opt, ",format=%s", disk->driverType);
|
||||
|
||||
if (disk->cachemode) {
|
||||
const char *mode =
|
||||
@@ -0,0 +1,33 @@
|
||||
--- src/qemu_conf.c.orig 2009-04-02 11:50:10.000000000 +0200
|
||||
+++ src/qemu_conf.c 2009-04-03 17:46:59.000000000 +0200
|
||||
@@ -779,6 +779,20 @@ int qemudBuildCommandLine(virConnectPtr
|
||||
char domid[50];
|
||||
char *pidfile;
|
||||
const char *cpu = NULL;
|
||||
+ int skipSound = 0;
|
||||
+
|
||||
+ if (driver->securityDriver &&
|
||||
+ driver->securityDriver->name &&
|
||||
+ STREQ(driver->securityDriver->name, "selinux") &&
|
||||
+ getuid() == 0) {
|
||||
+ static int soundWarned = 0;
|
||||
+ skipSound = 1;
|
||||
+ if (vm->def->nsounds &&
|
||||
+ !soundWarned) {
|
||||
+ soundWarned = 1;
|
||||
+ VIR_WARN0("Sound cards for VMs are disabled while SELinux security model is active");
|
||||
+ }
|
||||
+ }
|
||||
|
||||
uname_normalize(&ut);
|
||||
|
||||
@@ -1425,7 +1439,8 @@ int qemudBuildCommandLine(virConnectPtr
|
||||
}
|
||||
|
||||
/* Add sound hardware */
|
||||
- if (vm->def->nsounds) {
|
||||
+ if (vm->def->nsounds &&
|
||||
+ !skipSound) {
|
||||
int size = 100;
|
||||
char *modstr;
|
||||
if (VIR_ALLOC_N(modstr, size+1) < 0)
|
||||
+781
-2002
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user