Skip to content
Snippets Groups Projects
Commit 2d2fb25e authored by Andrea Bolognani's avatar Andrea Bolognani
Browse files

patches: Drop backported patches

parent db53b4d1
No related branches found
No related tags found
1 merge request!120Mechanical changes for 7.10.0-1
From: Andrea Bolognani <abologna@redhat.com>
Date: Wed, 3 Nov 2021 10:57:41 +0100
Subject: meson: Enable ZFS storage backend even more often
Commit 73a2ff36163e already improved the situation a lot. This
pushes things even further.
If the user or, more likely, the distro packager explicitly
asked for ZFS support to be enabled, then we should comply with
that request regardless of whether the necessary programs are
available at build time.
This is particularly important in the context of Debian, where
ZFS cannot be a build dependency of libvirt due to licensing
issues but it can still be an optional runtime dependency.
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
(cherry picked from commit ca4dc9613fb3be1012ef458d62cc5e406b8e1bf3)
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index ad41983..2dce8a1 100644
--- a/meson.build
+++ b/meson.build
@@ -1950,7 +1950,7 @@ if conf.has('WITH_LIBVIRTD')
foreach name : [ 'zfs', 'zpool' ]
set_variable(
'@0@_prog'.format(name),
- find_program(name, required: get_option('storage_zfs'), dirs: libvirt_sbin_path)
+ find_program(name, required: false, dirs: libvirt_sbin_path)
)
endforeach
From: Andrea Bolognani <abologna@redhat.com>
Date: Wed, 3 Nov 2021 10:32:14 +0100
Subject: meson: Stop looking up ZFS programs at build time
At this point, we're no longer using the availability of the
ZFS programs at build time to decide whether to enable ZFS
support, so the only purpose of these find_program() calls is
to record their absolute paths.
However, the virCommand facilities that we're ultimately using
to run them are already capable of performing this lookup at
runtime, and in fact that's exactly what we already do in the
case of, for example, vstorage.
Drop the build time lookups and always perform them at runtime.
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Tim Wiederhake <twiederh@redhat.com>
(cherry picked from commit 506c3a39d6e645c8414c278ceaba97935f90cb95)
---
meson.build | 16 ----------------
src/storage/storage_backend_zfs.c | 3 +++
2 files changed, 3 insertions(+), 16 deletions(-)
diff --git a/meson.build b/meson.build
index 2dce8a1..5d299f2 100644
--- a/meson.build
+++ b/meson.build
@@ -1947,24 +1947,8 @@ if conf.has('WITH_LIBVIRTD')
endif
if not get_option('storage_zfs').disabled()
- foreach name : [ 'zfs', 'zpool' ]
- set_variable(
- '@0@_prog'.format(name),
- find_program(name, required: false, dirs: libvirt_sbin_path)
- )
- endforeach
-
use_storage = true
conf.set('WITH_STORAGE_ZFS', 1)
- foreach name : [ 'zfs', 'zpool' ]
- prog_var = get_variable('@0@_prog'.format(name))
- if prog_var.found()
- prog_path = prog_var.path()
- else
- prog_path = name
- endif
- conf.set_quoted(name.to_upper(), prog_path)
- endforeach
endif
endif
diff --git a/src/storage/storage_backend_zfs.c b/src/storage/storage_backend_zfs.c
index 6fabead..2a5d743 100644
--- a/src/storage/storage_backend_zfs.c
+++ b/src/storage/storage_backend_zfs.c
@@ -33,6 +33,9 @@
VIR_LOG_INIT("storage.storage_backend_zfs");
+#define ZFS "zfs"
+#define ZPOOL "zpool"
+
/*
* Some common flags of zfs and zpool commands we use:
* -H -- don't print headers and separate fields by tab
From: Michal Privoznik <mprivozn@redhat.com>
Date: Mon, 29 Nov 2021 09:57:49 +0100
Subject: 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>
(cherry picked from commit 7e299ba649b1288d529c7595c0e6060c9ae0ff2a)
---
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 f43919b..cb922b8 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);
backport/meson-Enable-ZFS-storage-backend-even-more-often.patch
backport/meson-Stop-looking-up-ZFS-programs-at-build-time.patch
backport/wireshark-Switch-to-tvb_bytes_to_str.patch
forward/Skip-vircgrouptest.patch
forward/Reduce-udevadm-settle-timeout-to-10-seconds.patch
forward/Pass-GPG_TTY-env-var-to-the-ssh-binary.patch
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment