[PATCH] serialize access pci_get_strings function with a mutex
by wangjian
serialize access pci_get_strings function with a mutex.
nodedev-init thread:
nodeStateInitializeEnumerate ->
udevEnumerateDevices->
udevProcessDeviceListEntry ->
udevAddOneDevice ->
udevGetDeviceDetails->
udevProcessPCI ->
udevTranslatePCIIds ->
pci_get_strings -> (libpciaccess)
find_device_name ->
populate_vendor ->
d = realloc( vend->devices, (vend->num_devices + 1), * sizeof( struct pci_device_leaf ) );
vend->num_devices++;
udev-event thread:
udevEventHandleThread ->
udevHandleOneDevice ->
udevAddOneDevice->
udevGetDeviceDetails->
udevProcessPCI ->
udevTranslatePCIIds ->
pci_get_strings -> (libpciaccess)
find_device_name ->
populate_vendor ->
d = realloc( vend->devices, (vend->num_devices + 1), * sizeof( struct pci_device_leaf ) );
vend->num_devices++;
Since the functions provided by libpciaccess are not thread-safe,
when the udev-event and nodedev-init threads of libvirt call
the pci_get_strings function provided by libpaciaccess at the same time.
It will appear that for the same address, realloc a large space first,
and then realloc a small space, which triggers the 'invalid next size' of realloc,
leading to the thread core.
Signed-off-by: WangJian <wangjian161(a)huawei.com>
---
src/node_device/node_device_udev.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
index 3f28858..cc752ba 100644
--- a/src/node_device/node_device_udev.c
+++ b/src/node_device/node_device_udev.c
@@ -331,6 +331,7 @@ udevGenerateDeviceName(struct udev_device *device,
return 0;
}
+static pthread_mutex_t g_pciaccess_mutex = PTHREAD_MUTEX_INITIALIZER;
static int
udevTranslatePCIIds(unsigned int vendor,
@@ -350,11 +351,13 @@ udevTranslatePCIIds(unsigned int vendor,
m.match_data = 0;
/* pci_get_strings returns void */
+ pthread_mutex_lock(&g_pciaccess_mutex);
pci_get_strings(&m,
&device_name,
&vendor_name,
NULL,
NULL);
+ pthread_mutex_unlock(&g_pciaccess_mutex);
*vendor_string = g_strdup(vendor_name);
*product_string = g_strdup(device_name);
--
2.23.0
3 years, 9 months
[PATCH 0/2] Revert parts of g_steal_pointer() rewrite
by Michal Privoznik
A few hours ago, I've merged a patch that uses g_steal_pointer() instead
of its opened coded alternative. Well, turns out that some areas are
more fragile and rely on the open coded version.
https://gitlab.com/MichalPrivoznik/libvirt/-/pipelines/275871589
Michal Prívozník (2):
virnetsocket: Revert part of g_steal_pointer() rewrite
lib: Undo some g_steal_pointer() changes
src/libxl/libxl_driver.c | 9 ++++++---
src/lxc/lxc_driver.c | 12 ++++++++----
src/qemu/qemu_driver.c | 36 ++++++++++++++++++++++++------------
src/rpc/virnetsocket.c | 3 ++-
4 files changed, 40 insertions(+), 20 deletions(-)
--
2.26.2
3 years, 9 months
[libvirt PATCH v2] ci: Refresh information
by Andrea Bolognani
Notable changes:
* HAL is no longer installed on FreeBSD;
* the native version of libwsman is no longer installed in
containers intended for cross-compilation;
* Meson 0.55 rather than 0.54 is requested when installing
it from PyPI;
* GNU sed and GNU grep are installed explicitly everywhere.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
Changes from [v1]:
* install GNU grep and GNU sed everywhere.
I didn't push the original patch, even though it had already
been ACKed, to avoid unnecessary container rebuilds.
[v1] https://listman.redhat.com/archives/libvir-list/2021-March/msg01211.html
ci/cirrus/freebsd-12.vars | 2 +-
ci/cirrus/freebsd-current.vars | 2 +-
ci/cirrus/macos-11.vars | 2 +-
ci/containers/centos-7.Dockerfile | 6 ++++--
ci/containers/centos-8.Dockerfile | 6 ++++--
ci/containers/centos-stream.Dockerfile | 6 ++++--
ci/containers/debian-10-cross-aarch64.Dockerfile | 6 ++++--
ci/containers/debian-10-cross-armv6l.Dockerfile | 6 ++++--
ci/containers/debian-10-cross-armv7l.Dockerfile | 6 ++++--
ci/containers/debian-10-cross-i686.Dockerfile | 6 ++++--
ci/containers/debian-10-cross-mips.Dockerfile | 6 ++++--
ci/containers/debian-10-cross-mips64el.Dockerfile | 6 ++++--
ci/containers/debian-10-cross-mipsel.Dockerfile | 6 ++++--
ci/containers/debian-10-cross-ppc64le.Dockerfile | 6 ++++--
ci/containers/debian-10-cross-s390x.Dockerfile | 6 ++++--
ci/containers/debian-10.Dockerfile | 6 ++++--
ci/containers/debian-sid-cross-aarch64.Dockerfile | 4 +++-
ci/containers/debian-sid-cross-armv6l.Dockerfile | 4 +++-
ci/containers/debian-sid-cross-armv7l.Dockerfile | 4 +++-
ci/containers/debian-sid-cross-i686.Dockerfile | 4 +++-
ci/containers/debian-sid-cross-mips64el.Dockerfile | 4 +++-
ci/containers/debian-sid-cross-mipsel.Dockerfile | 4 +++-
ci/containers/debian-sid-cross-ppc64le.Dockerfile | 4 +++-
ci/containers/debian-sid-cross-s390x.Dockerfile | 4 +++-
ci/containers/debian-sid.Dockerfile | 4 +++-
ci/containers/fedora-32.Dockerfile | 4 +++-
ci/containers/fedora-33.Dockerfile | 4 +++-
ci/containers/fedora-rawhide-cross-mingw32.Dockerfile | 5 +++--
ci/containers/fedora-rawhide-cross-mingw64.Dockerfile | 5 +++--
ci/containers/fedora-rawhide.Dockerfile | 4 +++-
ci/containers/opensuse-152.Dockerfile | 6 ++++--
ci/containers/ubuntu-1804.Dockerfile | 6 ++++--
ci/containers/ubuntu-2004.Dockerfile | 6 ++++--
33 files changed, 109 insertions(+), 51 deletions(-)
diff --git a/ci/cirrus/freebsd-12.vars b/ci/cirrus/freebsd-12.vars
index 5add0fb058..115fd89727 100644
--- a/ci/cirrus/freebsd-12.vars
+++ b/ci/cirrus/freebsd-12.vars
@@ -5,4 +5,4 @@ MAKE='/usr/local/bin/gmake'
NINJA='/usr/local/bin/ninja'
PYTHON='/usr/local/bin/python3'
PIP3='/usr/local/bin/pip-3.7'
-PKGS='augeas avahi bash-completion ca_root_nss ccache cppi curl cyrus-sasl dbus diffutils diskscrub dnsmasq fusefs-libs gettext git glib gmake gnutls hal libpcap libpciaccess libssh libssh2 libxml2 libxslt meson ninja perl5 pkgconf polkit py37-docutils py37-flake8 python3 qemu radvd readline yajl'
+PKGS='augeas avahi bash-completion ca_root_nss ccache cppi curl cyrus-sasl dbus diffutils diskscrub dnsmasq fusefs-libs gettext git glib gmake gnugrep gnutls gsed libpcap libpciaccess libssh libssh2 libxml2 libxslt meson ninja perl5 pkgconf polkit py37-docutils py37-flake8 python3 qemu radvd readline yajl'
diff --git a/ci/cirrus/freebsd-current.vars b/ci/cirrus/freebsd-current.vars
index 5add0fb058..115fd89727 100644
--- a/ci/cirrus/freebsd-current.vars
+++ b/ci/cirrus/freebsd-current.vars
@@ -5,4 +5,4 @@ MAKE='/usr/local/bin/gmake'
NINJA='/usr/local/bin/ninja'
PYTHON='/usr/local/bin/python3'
PIP3='/usr/local/bin/pip-3.7'
-PKGS='augeas avahi bash-completion ca_root_nss ccache cppi curl cyrus-sasl dbus diffutils diskscrub dnsmasq fusefs-libs gettext git glib gmake gnutls hal libpcap libpciaccess libssh libssh2 libxml2 libxslt meson ninja perl5 pkgconf polkit py37-docutils py37-flake8 python3 qemu radvd readline yajl'
+PKGS='augeas avahi bash-completion ca_root_nss ccache cppi curl cyrus-sasl dbus diffutils diskscrub dnsmasq fusefs-libs gettext git glib gmake gnugrep gnutls gsed libpcap libpciaccess libssh libssh2 libxml2 libxslt meson ninja perl5 pkgconf polkit py37-docutils py37-flake8 python3 qemu radvd readline yajl'
diff --git a/ci/cirrus/macos-11.vars b/ci/cirrus/macos-11.vars
index c29b8b13b8..ba0e77d728 100644
--- a/ci/cirrus/macos-11.vars
+++ b/ci/cirrus/macos-11.vars
@@ -5,4 +5,4 @@ MAKE='/usr/local/bin/gmake'
NINJA='/usr/local/bin/ninja'
PYTHON='/usr/local/bin/python3'
PIP3='/usr/local/bin/pip3'
-PKGS='augeas bash-completion ccache cppi curl dbus diffutils dnsmasq docutils flake8 gettext git glib gnutls libiscsi libpcap libssh libssh2 libxml2 libxslt make meson ninja perl pkg-config python3 qemu readline rpcgen scrub yajl'
+PKGS='augeas bash-completion ccache cppi curl dbus diffutils dnsmasq docutils flake8 gettext git glib gnu-sed gnutls grep libiscsi libpcap libssh libssh2 libxml2 libxslt make meson ninja perl pkg-config python3 qemu readline rpcgen scrub yajl'
diff --git a/ci/containers/centos-7.Dockerfile b/ci/containers/centos-7.Dockerfile
index c499e7a19d..d1de34cedf 100644
--- a/ci/containers/centos-7.Dockerfile
+++ b/ci/containers/centos-7.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile centos-7 libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/centos:7
RUN yum update -y && \
@@ -64,6 +64,7 @@ WEiJKtQrZDJloqtyi/mmRa1VsV7RYR0VPJjhK/R8EQ7Ysshy\n\
glibc-devel \
glusterfs-api-devel \
gnutls-devel \
+ grep \
iproute \
iptables \
iscsi-initiator-utils \
@@ -111,6 +112,7 @@ WEiJKtQrZDJloqtyi/mmRa1VsV7RYR0VPJjhK/R8EQ7Ysshy\n\
rpm-build \
sanlock-devel \
scrub \
+ sed \
systemtap-sdt-devel \
wireshark-devel \
xen-devel \
@@ -124,7 +126,7 @@ WEiJKtQrZDJloqtyi/mmRa1VsV7RYR0VPJjhK/R8EQ7Ysshy\n\
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
RUN pip3 install \
- meson==0.54.0
+ meson==0.55.3
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/centos-8.Dockerfile b/ci/containers/centos-8.Dockerfile
index e600598329..d55115fe29 100644
--- a/ci/containers/centos-8.Dockerfile
+++ b/ci/containers/centos-8.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile centos-8 libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/centos:8
RUN dnf update -y && \
@@ -35,6 +35,7 @@ RUN dnf update -y && \
glibc-langpack-en \
glusterfs-api-devel \
gnutls-devel \
+ grep \
iproute \
iproute-tc \
iptables \
@@ -84,6 +85,7 @@ RUN dnf update -y && \
rpm-build \
sanlock-devel \
scrub \
+ sed \
systemtap-sdt-devel \
wireshark-devel \
xfsprogs-devel \
@@ -96,7 +98,7 @@ RUN dnf update -y && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
RUN pip3 install \
- meson==0.54.0
+ meson==0.55.3
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/centos-stream.Dockerfile b/ci/containers/centos-stream.Dockerfile
index 2b51eccc8d..a6715700c9 100644
--- a/ci/containers/centos-stream.Dockerfile
+++ b/ci/containers/centos-stream.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile centos-stream libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/centos:8
RUN dnf install -y centos-release-stream && \
@@ -37,6 +37,7 @@ RUN dnf install -y centos-release-stream && \
glibc-langpack-en \
glusterfs-api-devel \
gnutls-devel \
+ grep \
iproute \
iproute-tc \
iptables \
@@ -86,6 +87,7 @@ RUN dnf install -y centos-release-stream && \
rpm-build \
sanlock-devel \
scrub \
+ sed \
systemtap-sdt-devel \
wireshark-devel \
xfsprogs-devel \
@@ -98,7 +100,7 @@ RUN dnf install -y centos-release-stream && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
RUN pip3 install \
- meson==0.54.0
+ meson==0.55.3
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/debian-10-cross-aarch64.Dockerfile b/ci/containers/debian-10-cross-aarch64.Dockerfile
index 272c809f17..50476a7f5c 100644
--- a/ci/containers/debian-10-cross-aarch64.Dockerfile
+++ b/ci/containers/debian-10-cross-aarch64.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile --cross aarch64 debian-10 libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/debian:10-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -24,6 +24,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gcc \
gettext \
git \
+ grep \
iproute2 \
iptables \
kmod \
@@ -48,6 +49,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
qemu-utils \
radvd \
scrub \
+ sed \
xsltproc \
zfs-fuse && \
eatmydata apt-get autoremove -y && \
@@ -118,7 +120,7 @@ cpu = 'aarch64'\n\
endian = 'little'" > /usr/local/share/meson/cross/aarch64-linux-gnu
RUN pip3 install \
- meson==0.54.0
+ meson==0.55.3
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/debian-10-cross-armv6l.Dockerfile b/ci/containers/debian-10-cross-armv6l.Dockerfile
index e877b5e0b3..aed38f6f3d 100644
--- a/ci/containers/debian-10-cross-armv6l.Dockerfile
+++ b/ci/containers/debian-10-cross-armv6l.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile --cross armv6l debian-10 libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/debian:10-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -24,6 +24,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gcc \
gettext \
git \
+ grep \
iproute2 \
iptables \
kmod \
@@ -48,6 +49,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
qemu-utils \
radvd \
scrub \
+ sed \
xsltproc \
zfs-fuse && \
eatmydata apt-get autoremove -y && \
@@ -117,7 +119,7 @@ cpu = 'arm'\n\
endian = 'little'" > /usr/local/share/meson/cross/arm-linux-gnueabi
RUN pip3 install \
- meson==0.54.0
+ meson==0.55.3
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/debian-10-cross-armv7l.Dockerfile b/ci/containers/debian-10-cross-armv7l.Dockerfile
index d8cbc82334..714e28ad07 100644
--- a/ci/containers/debian-10-cross-armv7l.Dockerfile
+++ b/ci/containers/debian-10-cross-armv7l.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile --cross armv7l debian-10 libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/debian:10-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -24,6 +24,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gcc \
gettext \
git \
+ grep \
iproute2 \
iptables \
kmod \
@@ -48,6 +49,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
qemu-utils \
radvd \
scrub \
+ sed \
xsltproc \
zfs-fuse && \
eatmydata apt-get autoremove -y && \
@@ -118,7 +120,7 @@ cpu = 'armhf'\n\
endian = 'little'" > /usr/local/share/meson/cross/arm-linux-gnueabihf
RUN pip3 install \
- meson==0.54.0
+ meson==0.55.3
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/debian-10-cross-i686.Dockerfile b/ci/containers/debian-10-cross-i686.Dockerfile
index ed056c31b5..7fcd38ff7b 100644
--- a/ci/containers/debian-10-cross-i686.Dockerfile
+++ b/ci/containers/debian-10-cross-i686.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile --cross i686 debian-10 libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/debian:10-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -24,6 +24,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gcc \
gettext \
git \
+ grep \
iproute2 \
iptables \
kmod \
@@ -48,6 +49,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
qemu-utils \
radvd \
scrub \
+ sed \
xsltproc \
zfs-fuse && \
eatmydata apt-get autoremove -y && \
@@ -117,7 +119,7 @@ cpu = 'i686'\n\
endian = 'little'" > /usr/local/share/meson/cross/i686-linux-gnu
RUN pip3 install \
- meson==0.54.0
+ meson==0.55.3
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/debian-10-cross-mips.Dockerfile b/ci/containers/debian-10-cross-mips.Dockerfile
index 969964faf2..09d0653e13 100644
--- a/ci/containers/debian-10-cross-mips.Dockerfile
+++ b/ci/containers/debian-10-cross-mips.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile --cross mips debian-10 libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/debian:10-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -24,6 +24,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gcc \
gettext \
git \
+ grep \
iproute2 \
iptables \
kmod \
@@ -48,6 +49,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
qemu-utils \
radvd \
scrub \
+ sed \
xsltproc \
zfs-fuse && \
eatmydata apt-get autoremove -y && \
@@ -117,7 +119,7 @@ cpu = 'mips'\n\
endian = 'big'" > /usr/local/share/meson/cross/mips-linux-gnu
RUN pip3 install \
- meson==0.54.0
+ meson==0.55.3
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/debian-10-cross-mips64el.Dockerfile b/ci/containers/debian-10-cross-mips64el.Dockerfile
index a78492971f..07ce89e16f 100644
--- a/ci/containers/debian-10-cross-mips64el.Dockerfile
+++ b/ci/containers/debian-10-cross-mips64el.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile --cross mips64el debian-10 libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/debian:10-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -24,6 +24,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gcc \
gettext \
git \
+ grep \
iproute2 \
iptables \
kmod \
@@ -48,6 +49,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
qemu-utils \
radvd \
scrub \
+ sed \
xsltproc \
zfs-fuse && \
eatmydata apt-get autoremove -y && \
@@ -117,7 +119,7 @@ cpu = 'mips64el'\n\
endian = 'little'" > /usr/local/share/meson/cross/mips64el-linux-gnuabi64
RUN pip3 install \
- meson==0.54.0
+ meson==0.55.3
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/debian-10-cross-mipsel.Dockerfile b/ci/containers/debian-10-cross-mipsel.Dockerfile
index 857173f261..644b822302 100644
--- a/ci/containers/debian-10-cross-mipsel.Dockerfile
+++ b/ci/containers/debian-10-cross-mipsel.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile --cross mipsel debian-10 libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/debian:10-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -24,6 +24,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gcc \
gettext \
git \
+ grep \
iproute2 \
iptables \
kmod \
@@ -48,6 +49,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
qemu-utils \
radvd \
scrub \
+ sed \
xsltproc \
zfs-fuse && \
eatmydata apt-get autoremove -y && \
@@ -117,7 +119,7 @@ cpu = 'mipsel'\n\
endian = 'little'" > /usr/local/share/meson/cross/mipsel-linux-gnu
RUN pip3 install \
- meson==0.54.0
+ meson==0.55.3
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/debian-10-cross-ppc64le.Dockerfile b/ci/containers/debian-10-cross-ppc64le.Dockerfile
index 349cc1e487..f2e61268e9 100644
--- a/ci/containers/debian-10-cross-ppc64le.Dockerfile
+++ b/ci/containers/debian-10-cross-ppc64le.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile --cross ppc64le debian-10 libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/debian:10-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -24,6 +24,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gcc \
gettext \
git \
+ grep \
iproute2 \
iptables \
kmod \
@@ -48,6 +49,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
qemu-utils \
radvd \
scrub \
+ sed \
xsltproc \
zfs-fuse && \
eatmydata apt-get autoremove -y && \
@@ -117,7 +119,7 @@ cpu = 'powerpc64le'\n\
endian = 'little'" > /usr/local/share/meson/cross/powerpc64le-linux-gnu
RUN pip3 install \
- meson==0.54.0
+ meson==0.55.3
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/debian-10-cross-s390x.Dockerfile b/ci/containers/debian-10-cross-s390x.Dockerfile
index e79381e69a..e9b89c299a 100644
--- a/ci/containers/debian-10-cross-s390x.Dockerfile
+++ b/ci/containers/debian-10-cross-s390x.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile --cross s390x debian-10 libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/debian:10-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -24,6 +24,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gcc \
gettext \
git \
+ grep \
iproute2 \
iptables \
kmod \
@@ -48,6 +49,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
qemu-utils \
radvd \
scrub \
+ sed \
xsltproc \
zfs-fuse && \
eatmydata apt-get autoremove -y && \
@@ -117,7 +119,7 @@ cpu = 's390x'\n\
endian = 'big'" > /usr/local/share/meson/cross/s390x-linux-gnu
RUN pip3 install \
- meson==0.54.0
+ meson==0.55.3
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/debian-10.Dockerfile b/ci/containers/debian-10.Dockerfile
index bac8589f2c..fbc06b3314 100644
--- a/ci/containers/debian-10.Dockerfile
+++ b/ci/containers/debian-10.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile debian-10 libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/debian:10-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -24,6 +24,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gcc \
gettext \
git \
+ grep \
iproute2 \
iptables \
kmod \
@@ -83,6 +84,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
qemu-utils \
radvd \
scrub \
+ sed \
systemtap-sdt-dev \
wireshark-dev \
xfslibs-dev \
@@ -98,7 +100,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
RUN pip3 install \
- meson==0.54.0
+ meson==0.55.3
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/debian-sid-cross-aarch64.Dockerfile b/ci/containers/debian-sid-cross-aarch64.Dockerfile
index f0831c1fed..373b9ad31a 100644
--- a/ci/containers/debian-sid-cross-aarch64.Dockerfile
+++ b/ci/containers/debian-sid-cross-aarch64.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile --cross aarch64 debian-sid libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/debian:sid-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -24,6 +24,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gcc \
gettext \
git \
+ grep \
iproute2 \
iptables \
kmod \
@@ -46,6 +47,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
qemu-utils \
radvd \
scrub \
+ sed \
xsltproc \
zfs-fuse && \
eatmydata apt-get autoremove -y && \
diff --git a/ci/containers/debian-sid-cross-armv6l.Dockerfile b/ci/containers/debian-sid-cross-armv6l.Dockerfile
index c3661e2e7d..e32d0fd230 100644
--- a/ci/containers/debian-sid-cross-armv6l.Dockerfile
+++ b/ci/containers/debian-sid-cross-armv6l.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile --cross armv6l debian-sid libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/debian:sid-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -24,6 +24,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gcc \
gettext \
git \
+ grep \
iproute2 \
iptables \
kmod \
@@ -46,6 +47,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
qemu-utils \
radvd \
scrub \
+ sed \
xsltproc \
zfs-fuse && \
eatmydata apt-get autoremove -y && \
diff --git a/ci/containers/debian-sid-cross-armv7l.Dockerfile b/ci/containers/debian-sid-cross-armv7l.Dockerfile
index 4322046e8d..cc46822665 100644
--- a/ci/containers/debian-sid-cross-armv7l.Dockerfile
+++ b/ci/containers/debian-sid-cross-armv7l.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile --cross armv7l debian-sid libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/debian:sid-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -24,6 +24,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gcc \
gettext \
git \
+ grep \
iproute2 \
iptables \
kmod \
@@ -46,6 +47,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
qemu-utils \
radvd \
scrub \
+ sed \
xsltproc \
zfs-fuse && \
eatmydata apt-get autoremove -y && \
diff --git a/ci/containers/debian-sid-cross-i686.Dockerfile b/ci/containers/debian-sid-cross-i686.Dockerfile
index a48ff3471c..a4cd1c1070 100644
--- a/ci/containers/debian-sid-cross-i686.Dockerfile
+++ b/ci/containers/debian-sid-cross-i686.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile --cross i686 debian-sid libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/debian:sid-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -24,6 +24,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gcc \
gettext \
git \
+ grep \
iproute2 \
iptables \
kmod \
@@ -46,6 +47,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
qemu-utils \
radvd \
scrub \
+ sed \
xsltproc \
zfs-fuse && \
eatmydata apt-get autoremove -y && \
diff --git a/ci/containers/debian-sid-cross-mips64el.Dockerfile b/ci/containers/debian-sid-cross-mips64el.Dockerfile
index 9f3325b546..76298a7e4e 100644
--- a/ci/containers/debian-sid-cross-mips64el.Dockerfile
+++ b/ci/containers/debian-sid-cross-mips64el.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile --cross mips64el debian-sid libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/debian:sid-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -24,6 +24,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gcc \
gettext \
git \
+ grep \
iproute2 \
iptables \
kmod \
@@ -46,6 +47,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
qemu-utils \
radvd \
scrub \
+ sed \
xsltproc \
zfs-fuse && \
eatmydata apt-get autoremove -y && \
diff --git a/ci/containers/debian-sid-cross-mipsel.Dockerfile b/ci/containers/debian-sid-cross-mipsel.Dockerfile
index 39993132ac..3c69ce545f 100644
--- a/ci/containers/debian-sid-cross-mipsel.Dockerfile
+++ b/ci/containers/debian-sid-cross-mipsel.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile --cross mipsel debian-sid libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/debian:sid-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -24,6 +24,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gcc \
gettext \
git \
+ grep \
iproute2 \
iptables \
kmod \
@@ -46,6 +47,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
qemu-utils \
radvd \
scrub \
+ sed \
xsltproc \
zfs-fuse && \
eatmydata apt-get autoremove -y && \
diff --git a/ci/containers/debian-sid-cross-ppc64le.Dockerfile b/ci/containers/debian-sid-cross-ppc64le.Dockerfile
index ebb4389e69..c274e106a0 100644
--- a/ci/containers/debian-sid-cross-ppc64le.Dockerfile
+++ b/ci/containers/debian-sid-cross-ppc64le.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile --cross ppc64le debian-sid libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/debian:sid-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -24,6 +24,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gcc \
gettext \
git \
+ grep \
iproute2 \
iptables \
kmod \
@@ -46,6 +47,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
qemu-utils \
radvd \
scrub \
+ sed \
xsltproc \
zfs-fuse && \
eatmydata apt-get autoremove -y && \
diff --git a/ci/containers/debian-sid-cross-s390x.Dockerfile b/ci/containers/debian-sid-cross-s390x.Dockerfile
index 8cc22358cf..7d9120c93e 100644
--- a/ci/containers/debian-sid-cross-s390x.Dockerfile
+++ b/ci/containers/debian-sid-cross-s390x.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile --cross s390x debian-sid libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/debian:sid-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -24,6 +24,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gcc \
gettext \
git \
+ grep \
iproute2 \
iptables \
kmod \
@@ -46,6 +47,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
qemu-utils \
radvd \
scrub \
+ sed \
xsltproc \
zfs-fuse && \
eatmydata apt-get autoremove -y && \
diff --git a/ci/containers/debian-sid.Dockerfile b/ci/containers/debian-sid.Dockerfile
index a1ef98e67c..d1141ea307 100644
--- a/ci/containers/debian-sid.Dockerfile
+++ b/ci/containers/debian-sid.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile debian-sid libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/debian:sid-slim
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -24,6 +24,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gcc \
gettext \
git \
+ grep \
iproute2 \
iptables \
kmod \
@@ -81,6 +82,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
qemu-utils \
radvd \
scrub \
+ sed \
systemtap-sdt-dev \
wireshark-dev \
xfslibs-dev \
diff --git a/ci/containers/fedora-32.Dockerfile b/ci/containers/fedora-32.Dockerfile
index 71d391b7bd..71c78c76dc 100644
--- a/ci/containers/fedora-32.Dockerfile
+++ b/ci/containers/fedora-32.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile fedora-32 libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM registry.fedoraproject.org/fedora:32
RUN dnf install -y nosync && \
@@ -42,6 +42,7 @@ exec "$@"' > /usr/bin/nosync && \
glibc-langpack-en \
glusterfs-api-devel \
gnutls-devel \
+ grep \
iproute \
iproute-tc \
iptables \
@@ -89,6 +90,7 @@ exec "$@"' > /usr/bin/nosync && \
rpm-build \
sanlock-devel \
scrub \
+ sed \
sheepdog \
systemtap-sdt-devel \
wireshark-devel \
diff --git a/ci/containers/fedora-33.Dockerfile b/ci/containers/fedora-33.Dockerfile
index 5fb30380b0..08cd40bc3a 100644
--- a/ci/containers/fedora-33.Dockerfile
+++ b/ci/containers/fedora-33.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile fedora-33 libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM registry.fedoraproject.org/fedora:33
RUN dnf install -y nosync && \
@@ -42,6 +42,7 @@ exec "$@"' > /usr/bin/nosync && \
glibc-langpack-en \
glusterfs-api-devel \
gnutls-devel \
+ grep \
iproute \
iproute-tc \
iptables \
@@ -89,6 +90,7 @@ exec "$@"' > /usr/bin/nosync && \
rpm-build \
sanlock-devel \
scrub \
+ sed \
sheepdog \
systemtap-sdt-devel \
wireshark-devel \
diff --git a/ci/containers/fedora-rawhide-cross-mingw32.Dockerfile b/ci/containers/fedora-rawhide-cross-mingw32.Dockerfile
index c718778acb..1ac0c08e4c 100644
--- a/ci/containers/fedora-rawhide-cross-mingw32.Dockerfile
+++ b/ci/containers/fedora-rawhide-cross-mingw32.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile --cross mingw32 fedora-rawhide libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM registry.fedoraproject.org/fedora:rawhide
RUN dnf update -y --nogpgcheck fedora-gpg-keys && \
@@ -30,12 +30,12 @@ exec "$@"' > /usr/bin/nosync && \
firewalld-filesystem \
git \
glibc-langpack-en \
+ grep \
iproute \
iproute-tc \
iptables \
iscsi-initiator-utils \
kmod \
- libwsman-devel \
libxml2 \
libxslt \
lvm2 \
@@ -55,6 +55,7 @@ exec "$@"' > /usr/bin/nosync && \
rpcgen \
rpm-build \
scrub \
+ sed \
sheepdog \
zfs-fuse && \
nosync dnf autoremove -y && \
diff --git a/ci/containers/fedora-rawhide-cross-mingw64.Dockerfile b/ci/containers/fedora-rawhide-cross-mingw64.Dockerfile
index 6058d0c0b2..767e43639d 100644
--- a/ci/containers/fedora-rawhide-cross-mingw64.Dockerfile
+++ b/ci/containers/fedora-rawhide-cross-mingw64.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile --cross mingw64 fedora-rawhide libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM registry.fedoraproject.org/fedora:rawhide
RUN dnf update -y --nogpgcheck fedora-gpg-keys && \
@@ -30,12 +30,12 @@ exec "$@"' > /usr/bin/nosync && \
firewalld-filesystem \
git \
glibc-langpack-en \
+ grep \
iproute \
iproute-tc \
iptables \
iscsi-initiator-utils \
kmod \
- libwsman-devel \
libxml2 \
libxslt \
lvm2 \
@@ -55,6 +55,7 @@ exec "$@"' > /usr/bin/nosync && \
rpcgen \
rpm-build \
scrub \
+ sed \
sheepdog \
zfs-fuse && \
nosync dnf autoremove -y && \
diff --git a/ci/containers/fedora-rawhide.Dockerfile b/ci/containers/fedora-rawhide.Dockerfile
index 027e8a7c41..7cb68dcd50 100644
--- a/ci/containers/fedora-rawhide.Dockerfile
+++ b/ci/containers/fedora-rawhide.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile fedora-rawhide libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM registry.fedoraproject.org/fedora:rawhide
RUN dnf update -y --nogpgcheck fedora-gpg-keys && \
@@ -43,6 +43,7 @@ exec "$@"' > /usr/bin/nosync && \
glibc-langpack-en \
glusterfs-api-devel \
gnutls-devel \
+ grep \
iproute \
iproute-tc \
iptables \
@@ -90,6 +91,7 @@ exec "$@"' > /usr/bin/nosync && \
rpm-build \
sanlock-devel \
scrub \
+ sed \
sheepdog \
systemtap-sdt-devel \
wireshark-devel \
diff --git a/ci/containers/opensuse-152.Dockerfile b/ci/containers/opensuse-152.Dockerfile
index 00521f7796..8688934e92 100644
--- a/ci/containers/opensuse-152.Dockerfile
+++ b/ci/containers/opensuse-152.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile opensuse-152 libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM registry.opensuse.org/opensuse/leap:15.2
RUN zypper update -y && \
@@ -31,6 +31,7 @@ RUN zypper update -y && \
glibc-devel \
glibc-locale \
glusterfs-devel \
+ grep \
iproute2 \
iptables \
kmod \
@@ -81,6 +82,7 @@ RUN zypper update -y && \
rpm-build \
sanlock-devel \
scrub \
+ sed \
systemtap-sdt-devel \
wireshark-devel \
xen-devel \
@@ -92,7 +94,7 @@ RUN zypper update -y && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
RUN pip3 install \
- meson==0.54.0
+ meson==0.55.3
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/ubuntu-1804.Dockerfile b/ci/containers/ubuntu-1804.Dockerfile
index 3d18274d00..55b7821cba 100644
--- a/ci/containers/ubuntu-1804.Dockerfile
+++ b/ci/containers/ubuntu-1804.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile ubuntu-1804 libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/ubuntu:18.04
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -25,6 +25,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gettext \
git \
glusterfs-common \
+ grep \
iproute2 \
iptables \
kmod \
@@ -84,6 +85,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
qemu-utils \
radvd \
scrub \
+ sed \
sheepdog \
systemtap-sdt-dev \
wireshark-dev \
@@ -100,7 +102,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
RUN pip3 install \
- meson==0.54.0
+ meson==0.55.3
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
diff --git a/ci/containers/ubuntu-2004.Dockerfile b/ci/containers/ubuntu-2004.Dockerfile
index 9018c9d22e..04427b81d0 100644
--- a/ci/containers/ubuntu-2004.Dockerfile
+++ b/ci/containers/ubuntu-2004.Dockerfile
@@ -2,7 +2,7 @@
#
# $ lcitool dockerfile ubuntu-2004 libvirt
#
-# https://gitlab.com/libvirt/libvirt-ci/-/commit/891c7d56be1d0eb5adaf78fced...
+# https://gitlab.com/libvirt/libvirt-ci/-/commit/ceb381dce7c901e180a6219513...
FROM docker.io/library/ubuntu:20.04
RUN export DEBIAN_FRONTEND=noninteractive && \
@@ -24,6 +24,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
gcc \
gettext \
git \
+ grep \
iproute2 \
iptables \
kmod \
@@ -84,6 +85,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
qemu-utils \
radvd \
scrub \
+ sed \
systemtap-sdt-dev \
wireshark-dev \
xfslibs-dev \
@@ -99,7 +101,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/$(basename /usr/bin/gcc)
RUN pip3 install \
- meson==0.54.0
+ meson==0.55.3
ENV LANG "en_US.UTF-8"
ENV MAKE "/usr/bin/make"
--
2.26.3
3 years, 9 months
[libvirt PATCH 2/2] build: teach run script how to temporarily stop systemd units
by Daniel P. Berrangé
When testing locally built daemons on a systemd host there can be quite
a few systemd units that need temporarily stopping, and ideally
restarting after the test is complete. This becomes a massive burden
when modular daemons are running and you want to test libvirtd, as a
huge number of units need stopping.
The run script can facilitate this usage by looking at what units are
running and automatically stopping any that are known to conflict with
the daemon that is about to be run.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
run.in | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 84 insertions(+), 2 deletions(-)
diff --git a/run.in b/run.in
index 99c67c586a..72d299dc4a 100644
--- a/run.in
+++ b/run.in
@@ -44,6 +44,7 @@ import os
import os.path
import random
import sys
+import subprocess
# Function to intelligently prepend a path to an environment variable.
# See https://stackoverflow.com/a/9631350
@@ -77,5 +78,86 @@ env["LIBVIRT_DIR_OVERRIDE"] = "1"
# read problems when using glibc.
env["MALLOC_PERTURB_"] = "%d" % random.randint(1, 255)
-# Run the program.
-os.execve(prog, args, env)
+modular_daemons = [
+ "virtinterfaced",
+ "virtlxcd",
+ "virtnetworkd",
+ "virtnodedevd",
+ "virtnwfilterd",
+ "virtproxyd",
+ "virtqemud",
+ "virtsecretd",
+ "virtstoraged",
+ "virtvboxd",
+ "virtvzd",
+ "virtxend",
+]
+
+def is_modular_daemon(name):
+ return name in modular_daemons
+
+def is_monolithic_daemon(name):
+ return name == "libvirtd"
+
+def is_systemd_host():
+ if os.getuid() != 0:
+ return False
+ return os.path.exists("/run/systemd/system")
+
+def daemon_units(name):
+ return [name + suffix for suffix in [
+ ".service", ".socket", "-ro.socket", "-admin.socket"]]
+
+def is_unit_active(name):
+ ret = subprocess.call(["systemctl", "is-active", "-q", name])
+ return ret == 0
+
+def change_unit(name, action):
+ ret = subprocess.call(["systemctl", action, "-q", name])
+ return ret == 0
+
+try_stop_units = []
+if is_systemd_host():
+ name = os.path.basename(prog)
+
+ maybe_stopped_units = []
+ if is_modular_daemon(name):
+ # Only need to stop libvirtd or this specific modular unit
+ maybe_stopped_units += daemon_units("libvirtd")
+ maybe_stopped_units += daemon_units(name)
+ elif is_monolithic_daemon(name):
+ # Need to stop libvirtd and/or all modular units
+ maybe_stopped_units += daemon_units("libvirtd")
+ for entry in modular_daemons:
+ maybe_stopped_units += daemon_units(entry)
+
+ for unit in maybe_stopped_units:
+ if is_unit_active(unit):
+ try_stop_units.append(unit)
+
+if len(try_stop_units) == 0:
+ # Run the program directly, replacing ourselves
+ os.execve(prog, args, env)
+else:
+ print("Temporarily stopping systemd units...")
+ stopped_units = []
+
+ try:
+ for unit in try_stop_units:
+ print(" > %s" % unit)
+ if not change_unit(unit, "stop"):
+ raise Exception("Unable to stop '%s'" % unit)
+
+ stopped_units.append(unit)
+
+ print("Running %s..." % prog)
+ ret = subprocess.call(prog, env=env)
+ except KeyboardInterrupt as ex:
+ pass
+ finally:
+ print("Re-starting original systemd units...")
+ stopped_units.reverse()
+ for unit in stopped_units:
+ print(" > %s" % unit)
+ if not change_unit(unit, "start"):
+ print(" ! unable to restart %s" % unit, file=sys.stderr)
--
2.30.2
3 years, 9 months
[PATCH 1/1] set vm physical bits(phys_bits)
by Wang,Liang(ACG CCN)
Set the vm phys_bits through the phys and hostphysbits in XML
<phys bits='43' /> corresponds to "-cpu-phys-bits=42"
<hostphysbits /> corresponds to "host-phys-bits=on"
<cpu mode='host-passthrough' check='none'>
<phys bits='43' />
<hostphysbits />
</cpu>
---
src/conf/cpu_conf.c | 34 ++++++++++++++++++++++++++++++++++
src/conf/cpu_conf.h | 2 ++
src/qemu/qemu_command.c | 6 ++++++
3 files changed, 42 insertions(+)
diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c
index 380a74691d..41f7c26f63 100644
--- a/src/conf/cpu_conf.c
+++ b/src/conf/cpu_conf.c
@@ -158,6 +158,8 @@ virCPUDefCopyModelFilter(virCPUDefPtr dst,
dst->model = g_strdup(src->model);
dst->vendor = g_strdup(src->vendor);
dst->vendor_id = g_strdup(src->vendor_id);
+ dst->phys_bits = src->phys_bits;
+ dst->host_phys_bits = src->host_phys_bits;
dst->microcodeVersion = src->microcodeVersion;
dst->nfeatures_max = src->nfeatures;
dst->nfeatures = 0;
@@ -540,6 +542,18 @@ virCPUDefParseXML(xmlXPathContextPtr ctxt,
return -1;
}
+ if (virXPathNode("./phys[1]", ctxt)) {
+ unsigned long phys_bits;
+ if (virXPathULong("string(./phys[1]/@bits)",
+ ctxt, &phys_bits) >=0 ) {
+ def->phys_bits = (unsigned int) phys_bits;
+ }
+ }
+
+ if (virXPathNode("./hostphysbits[1]", ctxt)) {
+ def->host_phys_bits = true;
+ }
+
if (virXPathNode("./topology[1]", ctxt)) {
unsigned long ul;
@@ -811,6 +825,12 @@ virCPUDefFormatBuf(virBufferPtr buf,
virBufferAddLit(buf, "/>\n");
}
+ if (def->phys_bits > 0)
+ virBufferAsprintf(buf, "<phys bits='%u' />\n", def->phys_bits);
+
+ if (def->host_phys_bits)
+ virBufferAddLit(buf, "<hostphysbits />\n");
+
if (def->sockets && def->dies && def->cores && def->threads) {
virBufferAddLit(buf, "<topology");
virBufferAsprintf(buf, " sockets='%u'", def->sockets);
@@ -1067,6 +1087,20 @@ virCPUDefIsEqual(virCPUDefPtr src,
return false;
}
+ if (src->phys_bits != dst->phys_bits) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("Target CPU phys_bits %d does not match source %d"),
+ dst->phys_bits, src->phys_bits);
+ goto cleanup;
+ }
+
+ if (src->host_phys_bits != dst->host_phys_bits) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("Target CPU host_phys_bits %d does not match source %d"),
+ dst->host_phys_bits, src->host_phys_bits);
+ goto cleanup;
+ }
+
if (src->sockets != dst->sockets) {
MISMATCH(_("Target CPU sockets %d does not match source %d"),
dst->sockets, src->sockets);
diff --git a/src/conf/cpu_conf.h b/src/conf/cpu_conf.h
index 7ab198d370..f2a23ad41e 100644
--- a/src/conf/cpu_conf.h
+++ b/src/conf/cpu_conf.h
@@ -132,6 +132,8 @@ struct _virCPUDef {
char *vendor_id; /* vendor id returned by CPUID in the guest */
int fallback; /* enum virCPUFallback */
char *vendor;
+ unsigned int phys_bits;
+ bool host_phys_bits;
unsigned int microcodeVersion;
unsigned int sockets;
unsigned int dies;
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 1b4fa77867..d9bf3d5ce8 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -6729,6 +6729,12 @@ qemuBuildCpuCommandLine(virCommandPtr cmd,
virBufferAddLit(&buf, ",l3-cache=off");
}
+ if (def->cpu && def->cpu->phys_bits > 0)
+ virBufferAsprintf(&buf, ",phys-bits=%u", def->cpu->phys_bits);
+
+ if (def->cpu && def->cpu->host_phys_bits)
+ virBufferAddLit(&buf, ",host-phys-bits=on");
+
cpu = virBufferContentAndReset(&cpu_buf);
cpu_flags = virBufferContentAndReset(&buf);
--
2.24.3
3 years, 9 months
[PATCH] vz: Add case for VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER
by Michal Privoznik
In one of my recent patches I've introduced new connection
feature VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER.
However, I forgot to add corresponding case into a switch in
vzConnectSupportsFeature().
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
Pushed as trivial.
src/vz/vz_driver.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c
index f3ad22c270..d8ad2499ab 100644
--- a/src/vz/vz_driver.c
+++ b/src/vz/vz_driver.c
@@ -3031,6 +3031,7 @@ vzConnectSupportsFeature(virConnectPtr conn G_GNUC_UNUSED, int feature)
switch ((virDrvFeature) feature) {
case VIR_DRV_FEATURE_MIGRATION_PARAMS:
case VIR_DRV_FEATURE_MIGRATION_P2P:
+ case VIR_DRV_FEATURE_NETWORK_UPDATE_HAS_CORRECT_ORDER:
return 1;
case VIR_DRV_FEATURE_FD_PASSING:
case VIR_DRV_FEATURE_MIGRATE_CHANGE_PROTECTION:
--
2.26.2
3 years, 9 months
[libvirt PATCH 0/2] build: make the run script more intelligent on systemd hosts
by Daniel P. Berrangé
Running virtqemud, we just stop the virqemud daemon units
Temporarily stopping systemd units...
> virtqemud.socket
> virtqemud-ro.socket
> virtqemud-admin.socket
Running ./src/virtqemud...
^CRe-starting original systemd units...
> virtqemud-admin.socket
> virtqemud-ro.socket
> virtqemud.socket
Running libvirtd, we stop all modular demon units
Temporarily stopping systemd units...
> virtnetworkd.socket
> virtproxyd.socket
> virtqemud.socket
> virtqemud-ro.socket
> virtqemud-admin.socket
Running ./src/libvirtd...
^CRe-starting original systemd units...
> virtqemud-admin.socket
> virtqemud-ro.socket
> virtqemud.socket
> virtproxyd.socket
> virtnetworkd.socket
Daniel P. Berrangé (2):
build: convert the run script to use Python
build: teach run script how to temporarily stop systemd units
run.in | 125 ++++++++++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 105 insertions(+), 20 deletions(-)
--
2.30.2
3 years, 9 months
[PATCH v2 0/2] Fix calling of virNetworkUpdate() driver callback
by Michal Privoznik
v2 of:
https://listman.redhat.com/archives/libvir-list/2021-March/msg00052.html
I've pushed 1/2 from the v1 series (which just debug printed all
arguments) which is unrelated to this problem.
diff to v1:
- Implemented different approach as suggested by Jano in his review of
v1. I must say I like it more.
Michal Prívozník (2):
network: Implement virConnectSupportsFeature()
lib: Fix calling of virNetworkUpdate() driver callback
src/esx/esx_driver.c | 3 +++
src/libvirt-network.c | 24 ++++++++++++++++++++--
src/libvirt_internal.h | 5 +++++
src/libxl/libxl_driver.c | 1 +
src/lxc/lxc_driver.c | 1 +
src/network/bridge_driver.c | 32 +++++++++++++++++++++++++++++
src/openvz/openvz_driver.c | 1 +
src/qemu/qemu_driver.c | 1 +
src/remote/remote_daemon_dispatch.c | 1 +
src/test/test_driver.c | 1 +
10 files changed, 68 insertions(+), 2 deletions(-)
--
2.26.2
3 years, 9 months
[PATCH 0/2] lib: Use g_steal_pointer() more
by Michal Privoznik
*** BLURB HERE ***
Michal Prívozník (2):
esx: Fix @doms pointer steal in esxConnectListAllDomains()
lib: Use g_steal_pointer() more
src/conf/capabilities.c | 3 +--
src/conf/domain_addr.c | 6 ++---
src/conf/domain_conf.c | 3 +--
src/conf/node_device_conf.c | 3 +--
src/conf/nwfilter_conf.c | 3 +--
src/conf/object_event.c | 3 +--
src/conf/virdomainmomentobjlist.c | 8 +++---
src/conf/virinterfaceobj.c | 3 +--
src/conf/virnetworkobj.c | 12 +++------
src/conf/virstorageobj.c | 3 +--
src/esx/esx_driver.c | 12 ++++-----
src/esx/esx_vi.c | 3 +--
src/hypervisor/domain_driver.c | 3 +--
src/interface/interface_backend_netcf.c | 3 +--
src/libxl/libxl_driver.c | 12 +++------
src/libxl/libxl_migration.c | 6 ++---
src/libxl/xen_xl.c | 6 ++---
src/lxc/lxc_controller.c | 3 +--
src/lxc/lxc_driver.c | 12 +++------
src/lxc/lxc_monitor.c | 3 +--
src/lxc/lxc_native.c | 3 +--
src/lxc/lxc_process.c | 3 +--
src/node_device/node_device_udev.c | 3 +--
src/qemu/qemu_agent.c | 3 +--
src/qemu/qemu_blockjob.c | 6 ++---
src/qemu/qemu_domain_address.c | 6 ++---
src/qemu/qemu_driver.c | 36 +++++++++----------------
src/qemu/qemu_migration_cookie.c | 3 +--
src/qemu/qemu_monitor.c | 3 +--
src/qemu/qemu_monitor_json.c | 6 ++---
src/remote/remote_daemon_dispatch.c | 6 ++---
src/remote/remote_driver.c | 18 +++++--------
src/rpc/virnetclient.c | 14 ++++------
src/rpc/virnetclientstream.c | 15 ++++-------
src/rpc/virnetmessage.c | 3 +--
src/rpc/virnetserverclient.c | 6 ++---
src/rpc/virnetsocket.c | 6 ++---
src/rpc/virnetsshsession.c | 3 +--
src/rpc/virnettlscontext.c | 3 +--
src/security/security_dac.c | 4 +--
src/test/test_driver.c | 3 +--
src/util/virconf.c | 3 +--
src/util/virfdstream.c | 3 +--
src/util/virjson.c | 3 +--
src/vbox/vbox_common.c | 6 ++---
src/vbox/vbox_snapshot_conf.c | 7 ++---
src/vmx/vmx.c | 29 ++++++--------------
src/vz/vz_sdk.c | 18 +++++--------
tools/virsh-domain.c | 6 ++---
tools/vsh.c | 9 +++----
50 files changed, 115 insertions(+), 232 deletions(-)
--
2.26.2
3 years, 9 months
[libvirt PATCH 0/4] increase locked memory limit when a vDPA device is present
by Laine Stump
We recently learned that vDPA devices may/will need to pin/lock all of
guest memory, and so just as we do for VFIO devices, we need to
increase the locked memory limit when a vDPA device is present.
https://bugzilla.redhat.com/1939776
Laine Stump (4):
conf: new function virDomainDefHasVDPANet()
qemu: simplify qemuDomainGetMemLockLimitBytes()
qemu: account for mdev devices in getPPC64MemLockLimitBytes()
qemu: increase locked memory limit when a vDPA device is present
src/conf/domain_conf.c | 14 ++++++++++++++
src/conf/domain_conf.h | 3 +++
src/libvirt_private.syms | 1 +
src/qemu/qemu_domain.c | 26 +++-----------------------
4 files changed, 21 insertions(+), 23 deletions(-)
--
2.30.2
3 years, 9 months