]> git.ipfire.org Git - thirdparty/libvirt.git/log
thirdparty/libvirt.git
5 years agomeson: move content from config-post.h to config.h
Pavel Hrdina [Wed, 17 Jun 2020 19:41:28 +0000 (21:41 +0200)] 
meson: move content from config-post.h to config.h

With meson we generate meson-config.h into the build directory and
include it in config.h so there is no need to have separate
config-post.h file.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
5 years agomeson: build everything with PIE
Pavel Hrdina [Wed, 24 Jun 2020 11:20:40 +0000 (13:20 +0200)] 
meson: build everything with PIE

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
5 years agomeson: introduce meson build files
Pavel Hrdina [Mon, 3 Aug 2020 06:50:49 +0000 (08:50 +0200)] 
meson: introduce meson build files

The PACKAGE* variables are defined by AC_INIT so we have to define
explicitly with meson.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
5 years agomeson: tests: virmockstathelpers: replace check for _FILE_OFFSET_BITS
Pavel Hrdina [Fri, 24 Jul 2020 12:02:39 +0000 (14:02 +0200)] 
meson: tests: virmockstathelpers: replace check for _FILE_OFFSET_BITS

Meson always defines _FILE_OFFSET_BITS=64 which effectively makes
mocking of non 64-bit stat functions dead code.

On linux it was not an issue because we use the 64-bit versions but
on FreeBSD there are not 64-bit versions, there is only stat & lstat.

We cannot simply drop the check as that would resolve to compilation
error on 64-bit linux:

{standard input}: Assembler messages:
{standard input}:11468: Error: symbol `__xstat64' is already defined
{standard input}:11679: Error: symbol `__xstat64.cold' is already defined
{standard input}:12034: Error: symbol `__lxstat64' is already defined
{standard input}:12245: Error: symbol `__lxstat64.cold' is already defined

So we have to replace the _FILE_OFFSET_BITS with a check if the
corresponding 64-bit version of the stat function exists.

Replicate the meson behavior by always defining _FILE_OFFSET_BITS
instead of using AC_SYS_LARGEFILE otherwise this change would break
our tests.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
5 years agomeson: src/util/virfile: rewrite virFileActivateDirOverrideForProg
Pavel Hrdina [Fri, 10 Jul 2020 10:07:16 +0000 (12:07 +0200)] 
meson: src/util/virfile: rewrite virFileActivateDirOverrideForProg

With meson we no longer have .libs directory with the actual binary so
we have to take a different approach to detect if running from build
directory.

This is not as robust as for autotools because if you select --prefix
in the build directory it will incorrectly enable the override as well
but nobody should do that.

We have to modify some of the tests to not add current build path into
PATH variable and use the full path for virsh instead. Otherwise it
would be impossible to figure out that we are running virsh from build
directory.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
5 years agomeson: syntax-check: drop Makefile and m4 related checks
Pavel Hrdina [Thu, 25 Jun 2020 21:20:56 +0000 (23:20 +0200)] 
meson: syntax-check: drop Makefile and m4 related checks

Rewrite to meson will eliminate most of the Makefile and all of m4
files so there is no need to check them.

We still need to ignore mk files otherwise syntax-check.mk would be
considered as well.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
5 years agomeson: Makefile: drop cov target
Pavel Hrdina [Mon, 27 Jul 2020 06:12:25 +0000 (08:12 +0200)] 
meson: Makefile: drop cov target

Coverage functionality is provided directly by meson so there is no need
to convert it into meson.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
5 years agomeson: drop test_suite configure argument
Pavel Hrdina [Fri, 24 Jul 2020 14:04:19 +0000 (16:04 +0200)] 
meson: drop test_suite configure argument

With autoconf this option controlled if the test suite is compiled by
default or not with the fact that it will be compiled later when
running `make check`.

With meson it is not possible to compile it later when running
`ninja test` as it will be always compiled if referenced by `test()`
function in meson.build files.

Since we cannot postpone compilation of the test suite drop this option
as it will not be converted to meson.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
5 years agomeson: drop driver_module configure argument
Pavel Hrdina [Wed, 24 Jun 2020 11:59:07 +0000 (13:59 +0200)] 
meson: drop driver_module configure argument

Building without driver_module is not supported anymore so drop the
option before switching to meson as we will not introduce it there.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
5 years agomeson: drop default_editor configure argument
Pavel Hrdina [Fri, 24 Jul 2020 14:41:06 +0000 (16:41 +0200)] 
meson: drop default_editor configure argument

Most likely rarely changed with configure option and it is used only
as fallback if there is no VISUAL or EDITOR environment variable.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
5 years agomeson: drop debug_logs configure argument
Pavel Hrdina [Fri, 24 Jul 2020 14:30:06 +0000 (16:30 +0200)] 
meson: drop debug_logs configure argument

There is no point of having this option in libvirt because the debug
logs can be configured using log filters.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
5 years agomeson: remove automake specific directives
Pavel Hrdina [Mon, 13 Jul 2020 12:59:41 +0000 (14:59 +0200)] 
meson: remove automake specific directives

EXTRA_DIST is not relevant because meson makes a git copy when creating
dist archive so everything tracked by git is part of dist tarball.

The remaining ones are not converted to meson files as they are
automatically tracked by meson.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
5 years agomeson: ci: increase git clone depth to 1000
Pavel Hrdina [Tue, 14 Jul 2020 14:29:26 +0000 (16:29 +0200)] 
meson: ci: increase git clone depth to 1000

Having limit set to 100 is in most cases perfect but sometimes there can
be a larger series that will have more than 100 patches and it will make
the check-dco job fail.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
5 years agoci: run container jobs right away
Ján Tomko [Fri, 31 Jul 2020 12:51:00 +0000 (14:51 +0200)] 
ci: run container jobs right away

The jobs building containers do not depend on anything.
Make this explicit by including the 'needs' keyword in case
we need to shuffle around the stages in the future.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
5 years agoci: run Cirrus-based builds sooner
Ján Tomko [Tue, 28 Jul 2020 23:06:30 +0000 (01:06 +0200)] 
ci: run Cirrus-based builds sooner

Jobs using cirrus-run don't need to wait for any jobs from
the container stage. Run them as soon as possible.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
5 years agoci: add clang jobs
Ján Tomko [Tue, 28 Jul 2020 12:32:40 +0000 (14:32 +0200)] 
ci: add clang jobs

Run the build with clang on Fedora Rawhide, Debian 10 and CentOS 8.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
5 years agoci: refresh Dockerfiles
Ján Tomko [Tue, 28 Jul 2020 12:24:27 +0000 (14:24 +0200)] 
ci: refresh Dockerfiles

The corresponding libvirt-ci commit is:
commit 512b1011559165e3f37eae675dd43a431b95baa3
    projects: install clang on Linux

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
5 years agotests: bhyve: remove unnecessary labels
Ján Tomko [Tue, 28 Jul 2020 00:58:58 +0000 (02:58 +0200)] 
tests: bhyve: remove unnecessary labels

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Laine Stump <laine@redhat.com>
Reviewed-by: Roman Bogorodskiy <bogorodskiy@gmail.com>
5 years agotests: bhyve: use g_autoptr where possible
Ján Tomko [Tue, 28 Jul 2020 00:59:58 +0000 (02:59 +0200)] 
tests: bhyve: use g_autoptr where possible

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Laine Stump <laine@redhat.com>
Reviewed-by: Roman Bogorodskiy <bogorodskiy@gmail.com>
5 years agotests: bhyve: use g_autofree where possible
Ján Tomko [Tue, 28 Jul 2020 00:56:33 +0000 (02:56 +0200)] 
tests: bhyve: use g_autofree where possible

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Laine Stump <laine@redhat.com>
Reviewed-by: Roman Bogorodskiy <bogorodskiy@gmail.com>
5 years agotests: bhyve: split variable declarations
Ján Tomko [Tue, 28 Jul 2020 00:55:33 +0000 (02:55 +0200)] 
tests: bhyve: split variable declarations

One variable per line.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Laine Stump <laine@redhat.com>
Reviewed-by: Roman Bogorodskiy <bogorodskiy@gmail.com>
5 years agotests: qemu: remove unnecessary labels
Ján Tomko [Tue, 28 Jul 2020 21:17:02 +0000 (23:17 +0200)] 
tests: qemu: remove unnecessary labels

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Laine Stump <laine@redhat.com>
5 years agotests: qemu: use VIR_AUTOSTRINGLIST where possible
Ján Tomko [Tue, 28 Jul 2020 20:12:34 +0000 (22:12 +0200)] 
tests: qemu: use VIR_AUTOSTRINGLIST where possible

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Laine Stump <laine@redhat.com>
5 years agotests: qemu: use g_autoptr where possible
Ján Tomko [Tue, 28 Jul 2020 19:58:18 +0000 (21:58 +0200)] 
tests: qemu: use g_autoptr where possible

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Laine Stump <laine@redhat.com>
5 years agotests: qemu: use g_autofree where possible
Ján Tomko [Tue, 28 Jul 2020 19:57:28 +0000 (21:57 +0200)] 
tests: qemu: use g_autofree where possible

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Laine Stump <laine@redhat.com>
5 years agotests: qemucapsxml2xmltest: split variable declaration
Ján Tomko [Tue, 28 Jul 2020 19:59:45 +0000 (21:59 +0200)] 
tests: qemucapsxml2xmltest: split variable declaration

One variable per line.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Laine Stump <laine@redhat.com>
5 years agotests: qemu: reduce scope of some variables
Ján Tomko [Tue, 28 Jul 2020 20:01:22 +0000 (22:01 +0200)] 
tests: qemu: reduce scope of some variables

Reduce the scope of some variables and mark them as
g_autofree.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Laine Stump <laine@redhat.com>
5 years agotests: commandtest: drop unnecessary labels
Ján Tomko [Tue, 28 Jul 2020 00:51:27 +0000 (02:51 +0200)] 
tests: commandtest: drop unnecessary labels

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Laine Stump <laine@redhat.com>
5 years agotests: commandtest: use VIR_AUTOCLOSE
Ján Tomko [Tue, 28 Jul 2020 00:42:01 +0000 (02:42 +0200)] 
tests: commandtest: use VIR_AUTOCLOSE

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Laine Stump <laine@redhat.com>
5 years agotests: commandtest: use g_autoptr for virCommand
Ján Tomko [Tue, 28 Jul 2020 00:37:13 +0000 (02:37 +0200)] 
tests: commandtest: use g_autoptr for virCommand

Except for a few cases where freeing it explicitly
seems to be done on purpose.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Laine Stump <laine@redhat.com>
5 years agotests: commandtest: use g_autofree
Ján Tomko [Tue, 28 Jul 2020 00:30:59 +0000 (02:30 +0200)] 
tests: commandtest: use g_autofree

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Laine Stump <laine@redhat.com>
5 years agotests: commandtest: remove unused 'prefix' parameter
Ján Tomko [Tue, 28 Jul 2020 00:21:09 +0000 (02:21 +0200)] 
tests: commandtest: remove unused 'prefix' parameter

The 'checkoutput' function does have a parameter for a possible
prefix, but it is now unused.

Introduced-by: 241ac07124a3172dc38198d777eb3f04846f6c52
Used-by: 62f263a73e8202f2af7309d10000a3b9a66e6b57
Unused-since: 2dfacbffea47743fff942b6401f5f36b3ae4655a

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Laine Stump <laine@redhat.com>
5 years agoutil: netdevip: remove unused VIR_NETDEV_FAMILY
Ján Tomko [Mon, 27 Jul 2020 23:38:34 +0000 (01:38 +0200)] 
util: netdevip: remove unused VIR_NETDEV_FAMILY

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Fixes: cf0568b0af4ef4f903da1b184fc9b232c6f29457
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
5 years agoutil: vportprofile: remove unused constants
Ján Tomko [Mon, 27 Jul 2020 23:38:47 +0000 (01:38 +0200)] 
util: vportprofile: remove unused constants

After the switch to libnl these are no longer used.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Fixes: 77e7c13b2ef95724c39395d92725b1a892ff84de
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
5 years agovirt-admin: remove unused VIRT_ADMIN_TIME_BUFLEN
Ján Tomko [Mon, 27 Jul 2020 23:40:27 +0000 (01:40 +0200)] 
virt-admin: remove unused VIRT_ADMIN_TIME_BUFLEN

The switch to GDateTime removed the last use.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Fixes: 3caa28dc50df7ec215713075d669b20bef6473a2
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
5 years agovirsh: remove unused FILTER macro
Ján Tomko [Mon, 27 Jul 2020 23:39:13 +0000 (01:39 +0200)] 
virsh: remove unused FILTER macro

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Fixes: c2dd9ddf7b18ebfb108623d4711c80b716a261d7
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
5 years agoutil: remove unused VIR_MCAST_ADDR_LEN
Ján Tomko [Mon, 27 Jul 2020 23:37:14 +0000 (01:37 +0200)] 
util: remove unused VIR_MCAST_ADDR_LEN

Unused since its introduction.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Fixes: cc0e8c244d080f56392278e836cc378ba848e7aa
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
5 years agotest: remove unused NUM_CELLS
Ján Tomko [Mon, 27 Jul 2020 23:34:55 +0000 (01:34 +0200)] 
test: remove unused NUM_CELLS

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Fixes: 2bd7ed78a7cd68775de8cb912c7a57db7721a10b
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
5 years agostorage: scsi: remove unused LINUX_SYSFS_SCSI_HOST_POSTFIX
Ján Tomko [Mon, 27 Jul 2020 23:34:24 +0000 (01:34 +0200)] 
storage: scsi: remove unused LINUX_SYSFS_SCSI_HOST_POSTFIX

Unused since its introduction.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Fixes: 81d0ffbc3baee53467f664ea03b1349e8b6dba5a
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
5 years agostorage: logical: drop unused PV_BLANK_SECTOR_SIZE
Ján Tomko [Mon, 27 Jul 2020 23:32:21 +0000 (01:32 +0200)] 
storage: logical: drop unused PV_BLANK_SECTOR_SIZE

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Fixes: d942bf6e9e8e3991808ca5185098257e84acab5d
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
5 years agolocking: sanlock: drop unused LOCKSPACE_SLEEP
Ján Tomko [Mon, 27 Jul 2020 23:30:33 +0000 (01:30 +0200)] 
locking: sanlock: drop unused LOCKSPACE_SLEEP

After dropping support for sanlock < 2.4,
this constant is no longer used.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Fixes: c4951694786ecd45424769979762c17e4c8e56d0
Reviewed-by: Jonathon Jongsma <jjongsma@redhat.com>
5 years agoconf: scheduler parser: do not hardcode element name
Ján Tomko [Sat, 25 Jul 2020 07:49:38 +0000 (09:49 +0200)] 
conf: scheduler parser: do not hardcode element name

When trying to parse an XML with overlapping iothread scheduler
settings, the error message was rather confusing:

   error: iothreadssched attributes 'vcpus' must not overlap

Pass the correct element name.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
5 years agoconf: pass elementName to virDomainThreadSchedParseHelper
Ján Tomko [Sat, 25 Jul 2020 07:42:14 +0000 (09:42 +0200)] 
conf: pass elementName to virDomainThreadSchedParseHelper

Pass the scheduler element name instead of trying to reconstructing
it from the attribute name.

This has the benefit of not mixing '%s' with regular text in
translatable strings as well as preventing the confusion when
the 's' marking the plural in the element name ('vcpus') is taken
as a first letter of the 'sched' suffix.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Fixes: 7ea55a481dd45f09b54425005362533ecc800cd2
Fixes: 99c5fe0e7c26c08103415248ffef1f5acb81ddc7
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
5 years agoconf: rename 'name' in scheduler parser
Ján Tomko [Sat, 25 Jul 2020 07:29:36 +0000 (09:29 +0200)] 
conf: rename 'name' in scheduler parser

virDomainThreadSchedParseHelper is used for parsing both iothread
and vcpu scheduling settings. Rename its 'name' attribute to
make it obvious this refers to the attribute name, not the name of
the element (which is currently constructed from the attribute name).

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
5 years agoci: move sanity_checks after other stages
Ján Tomko [Tue, 28 Jul 2020 09:05:16 +0000 (11:05 +0200)] 
ci: move sanity_checks after other stages

Be less hostile to developers and run the build jobs even
if the dco-check failed. That way they can test their own
"private" branches without a sign-off.

Also specify empty `needs` for it, since it does not depend
on any of the jobs in the container phase and can be run
right away.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
5 years agoqemu: snapshot: Collect 'query-named-block-nodes' prior to memory migration
Peter Krempa [Fri, 31 Jul 2020 13:23:56 +0000 (15:23 +0200)] 
qemu: snapshot: Collect 'query-named-block-nodes' prior to memory migration

When doing an external snapshot we migrate memory to a file as a form of
taking the memory state. This creates a problem as qemu deactivates all
active bitmaps after a successful migration. This means that calling
'query-named-block-nodes' will return an empty list of bitmaps for
devices. We use the bitmap list to propagate the active bitmaps into the
overlay files being created which is required for backups to work after
a snapshot. Since we wouldn't propagate anything a subsequent backup
will fail with:

invalid argument: missing or broken bitmap 'testchck' for disk 'vda'

To fix this, we can simply collect the bitmap list prior to the
migration.

https://bugzilla.redhat.com/show_bug.cgi?id=1862472

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
5 years agoPost-release version bump to 6.7.0
Jiri Denemark [Sun, 2 Aug 2020 22:21:59 +0000 (00:21 +0200)] 
Post-release version bump to 6.7.0

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
5 years agoRelease of libvirt-6.6.0 v6.6.0
Jiri Denemark [Sun, 2 Aug 2020 22:20:01 +0000 (00:20 +0200)] 
Release of libvirt-6.6.0

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
5 years agoNEWS: Document changes for upcoming release
Michal Privoznik [Fri, 31 Jul 2020 14:48:54 +0000 (16:48 +0200)] 
NEWS: Document changes for upcoming release

In contrast with other releases, this time NEWS is pretty much
updated. I've identified only a couple of features/bug fixes
worth mentioning that were not mentioned yet.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
5 years agoNEWS: Mention fixes and improvements of BLOCK_THRESHOLD and TLS key tencryption
Peter Krempa [Mon, 27 Jul 2020 06:39:37 +0000 (08:39 +0200)] 
NEWS: Mention fixes and improvements of BLOCK_THRESHOLD and TLS key tencryption

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
5 years agotests: qemucapabitilies: Bump for 5.1 caps to rc2 for x86_64
Peter Krempa [Thu, 30 Jul 2020 15:12:54 +0000 (17:12 +0200)] 
tests: qemucapabitilies: Bump for 5.1 caps to rc2 for x86_64

Note that 'numa-mem-supported' turned off for certain machine types
which in turn forced us to generate a newer command line in certain
tests.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
5 years agotests: qemuxml2argv: Lock in "disk-network-tlsx509-vxhs" case to qemu-5.0.0
Peter Krempa [Thu, 30 Jul 2020 15:46:03 +0000 (17:46 +0200)] 
tests: qemuxml2argv: Lock in "disk-network-tlsx509-vxhs" case to qemu-5.0.0

QEMU 5.1 will drop the vxhs driver.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
5 years agotests: qemu: Split NBD and VXHS protocol tests
Peter Krempa [Thu, 30 Jul 2020 15:29:44 +0000 (17:29 +0200)] 
tests: qemu: Split NBD and VXHS protocol tests

QEMU is going to drop 'vxhs' in the upcoming release so we'll need to
track these separately to prevent test suite breakage.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
5 years agotests: qemuxml2argv: Use only modern versions of 'disk-network-tlsx509' test
Peter Krempa [Thu, 30 Jul 2020 15:41:43 +0000 (17:41 +0200)] 
tests: qemuxml2argv: Use only modern versions of 'disk-network-tlsx509' test

We already test with real caps so there's no real need for this special
case. While it technically tested the state without TLS encryption key
secrets, it doesn't really matter that much.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
5 years agovirNodeDevPCICapSRIOVVirtualParseXML: fix memleak of addr
Hao Wang [Thu, 30 Jul 2020 12:03:08 +0000 (20:03 +0800)] 
virNodeDevPCICapSRIOVVirtualParseXML: fix memleak of addr

virPCIDeviceAddressPtr 'addr' is forgotten to be freed in the branch
'VIR_APPEND_ELEMENT() < 0'. Use g_autoptr instead.

Signed-off-by: Hao Wang <wanghao232@huawei.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
5 years agodocs: Mention supported hypervisor of transient element
Han Han [Fri, 24 Jul 2020 06:48:19 +0000 (14:48 +0800)] 
docs: Mention supported hypervisor of transient element

Signed-off-by: Han Han <hhan@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
5 years agoqemu: fix memory leak in qemuDomainSaveInternal()
Zheng Chuan [Wed, 29 Jul 2020 03:42:49 +0000 (11:42 +0800)] 
qemu: fix memory leak in qemuDomainSaveInternal()

Use g_autoptr to free the temporary virDomainDef object created by
qemuDomainSaveInternal() when xmlin is non-NULL. Leak was added in
commit 0ea479f8f6, first appearing in libvirt 0.9.4 in August 2011.

Signed-off-by: Zheng Chuan <zhengchuan@huawei.com>
Reviewed-by: Laine Stump <laine@redhat.com>
5 years agoci: Use correct name for armv7l architecture
Andrea Bolognani [Wed, 29 Jul 2020 08:53:51 +0000 (10:53 +0200)] 
ci: Use correct name for armv7l architecture

Turns out 'ldebian' was not a typo, but rather the result of
mistakenly shifting the dash in 'armv7l-debian' one spot to the
left.

Fixes: 821100e81281eef9beeb15c3f4bf6a000d6a03c5
Reported-by: Pavel Hrdina <phrdina@redhat.com>
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
5 years agoci: Fix typo 'ldebian'
Andrea Bolognani [Wed, 29 Jul 2020 08:21:24 +0000 (10:21 +0200)] 
ci: Fix typo 'ldebian'

Fixes: 95abbdc432133b9ae4a76d15251d64b5893717e6
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
5 years agodocs: fix name of file containing max number of VFs
Paulo de Rezende Pinatti [Tue, 28 Jul 2020 09:16:24 +0000 (11:16 +0200)] 
docs: fix name of file containing max number of VFs

Signed-off-by: Paulo de Rezende Pinatti <ppinatti@linux.ibm.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
5 years agosrc: add missing balloon stats docs
Nikolay Shirokovskiy [Tue, 21 Jul 2020 08:07:22 +0000 (11:07 +0300)] 
src: add missing balloon stats docs

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
5 years agodocs: add missing iothread stats docs in domstats
Nikolay Shirokovskiy [Tue, 21 Jul 2020 08:07:21 +0000 (11:07 +0300)] 
docs: add missing iothread stats docs in domstats

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
5 years agodocs: add missing balloon stats docs in domstats
Nikolay Shirokovskiy [Tue, 21 Jul 2020 08:07:20 +0000 (11:07 +0300)] 
docs: add missing balloon stats docs in domstats

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
5 years agolib: clarify docs for hugetlb in virDomainMemoryStatTags
Nikolay Shirokovskiy [Tue, 21 Jul 2020 08:07:19 +0000 (11:07 +0300)] 
lib: clarify docs for hugetlb in virDomainMemoryStatTags

The term number is used for other stats and even for hugetlb
stats in virsh man page. The term number is also more clear.

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
5 years agodocs: fix typo in virsh.rst for balloon.major_fault
Nikolay Shirokovskiy [Tue, 21 Jul 2020 08:07:18 +0000 (11:07 +0300)] 
docs: fix typo in virsh.rst for balloon.major_fault

Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
5 years agoTranslated using Weblate (Polish)
Piotr Drąg [Mon, 27 Jul 2020 17:11:39 +0000 (19:11 +0200)] 
Translated using Weblate (Polish)

Currently translated at 23.5% (2437 of 10349 strings)

Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pl/

Signed-off-by: Piotr Drąg <piotrdrag@gmail.com>
5 years agoTranslated using Weblate (Polish)
Szymon Scholz [Mon, 27 Jul 2020 17:11:36 +0000 (19:11 +0200)] 
Translated using Weblate (Polish)

Currently translated at 23.4% (2432 of 10349 strings)

Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pl/

Signed-off-by: Szymon Scholz <szymonscholz@gmail.com>
5 years agodocs: virConnectGetCapabilities do not provide pool types
Pino Toscano [Mon, 20 Jul 2020 07:49:32 +0000 (09:49 +0200)] 
docs: virConnectGetCapabilities do not provide pool types

Remove the paragraph in the storage pool page that mentions
virConnectGetCapabilities, as virConnectGetCapabilities does not return
any information about pools.

Signed-off-by: Pino Toscano <ptoscano@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
5 years agotests: commandtest: Make 'test4' checking daemonization more reliable
Peter Krempa [Tue, 21 Jul 2020 10:32:10 +0000 (12:32 +0200)] 
tests: commandtest: Make 'test4' checking daemonization more reliable

The 'commandhelper' checks effectively whether the parent process is
still around to report whether it was daemonized or not.

This creates a unlikely race condition in cases when we do actually
daemonize the process as the intermediate process used for the
daemonization might not have terminated yet which would report wrong
result leading to test failure.

For now there's just 'test4' which actually daemonizes the process.

Add an argument '--check-daemonize' which asks for retries of the
daemonization check in cases where we expect that the commandhelper is
going to be daemonized and use it in 'test4' to make the test more
reliable.

I've observed the test failure sporadically when my box is under load
e.g. while building two trees at once.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
5 years agonews: Document recent CVE fix
Michal Privoznik [Mon, 27 Jul 2020 07:53:24 +0000 (09:53 +0200)] 
news: Document recent CVE fix

Document the fix of leaking /dev/mapper/control to QEMU (fixed in
v6.6.0-rc1-3-g2249455654).

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>
5 years agoUpdate translation files
Weblate [Mon, 27 Jul 2020 07:35:44 +0000 (09:35 +0200)] 
Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/

Signed-off-by: Fedora Weblate Translation <i18n@lists.fedoraproject.org>
5 years agoTranslated using Weblate (Ukrainian)
Yuri Chornoivan [Mon, 27 Jul 2020 07:35:40 +0000 (09:35 +0200)] 
Translated using Weblate (Ukrainian)

Currently translated at 100.0% (10349 of 10349 strings)

Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/uk/

Signed-off-by: Yuri Chornoivan <yurchor@ukr.net>
5 years agoTranslated using Weblate (Polish)
Szymon Scholz [Mon, 27 Jul 2020 07:35:37 +0000 (09:35 +0200)] 
Translated using Weblate (Polish)

Currently translated at 23.4% (2431 of 10349 strings)

Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/pl/

Signed-off-by: Szymon Scholz <szymonscholz@gmail.com>
5 years agoTranslated using Weblate (Italian)
Pino Toscano [Mon, 27 Jul 2020 07:35:34 +0000 (09:35 +0200)] 
Translated using Weblate (Italian)

Currently translated at 24.7% (2560 of 10349 strings)

Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/it/

Signed-off-by: Pino Toscano <toscano.pino@tiscali.it>
5 years agoUpdate translation files
Weblate [Mon, 27 Jul 2020 07:35:29 +0000 (09:35 +0200)] 
Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/

Signed-off-by: Fedora Weblate Translation <i18n@lists.fedoraproject.org>
5 years agoTranslated using Weblate (Finnish)
Daniel P. Berrangé [Mon, 27 Jul 2020 07:35:21 +0000 (09:35 +0200)] 
Translated using Weblate (Finnish)

Currently translated at 3.3% (348 of 10318 strings)

Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/fi/

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
5 years agovirDevMapperGetTargets: Don't ignore EBADF
Michal Privoznik [Thu, 23 Jul 2020 15:08:46 +0000 (17:08 +0200)] 
virDevMapperGetTargets: Don't ignore EBADF

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
5 years agovirdevmapper: Don't use libdevmapper to obtain dependencies
Michal Privoznik [Thu, 23 Jul 2020 14:02:00 +0000 (16:02 +0200)] 
virdevmapper: Don't use libdevmapper to obtain dependencies

CVE-2020-14339

When building domain's private /dev in a namespace, libdevmapper
is consulted for getting full dependency tree of domain's disks.
The reason is that for a multipath devices all dependent devices
must be created in the namespace and allowed in CGroups.

However, this approach is very fragile as building of namespace
happens in the forked off child process, after mass close of FDs
and just before dropping privileges and execing QEMU. And it so
happens that when calling libdevmapper APIs, one of them opens
/dev/mapper/control and saves the FD into a global variable. The
FD is kept open until the lib is unlinked or dm_lib_release() is
called explicitly. We are doing neither.

However, the virDevMapperGetTargets() function is called also
from libvirtd (when setting up CGroups) and thus has to be thread
safe. Unfortunately, libdevmapper APIs are not thread safe (nor
async signal safe) and thus we can't use them. Reimplement what
libdevmapper would do using plain C (ioctl()-s, /proc/devices
parsing, /dev/mapper dirwalking, and so on).

Fixes: a30078cb832646177defd256e77c632905f1e6d0
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1858260

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
5 years agovirDevMapperGetTargetsImpl: Use VIR_AUTOSTRINGLIST
Michal Privoznik [Fri, 24 Jul 2020 07:40:04 +0000 (09:40 +0200)] 
virDevMapperGetTargetsImpl: Use VIR_AUTOSTRINGLIST

Since we have VIR_AUTOSTRINGLIST we can use it to free string
lists used in the function automatically.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
5 years agovirdevmapper.c: Join two WITH_DEVMAPPER sections together
Michal Privoznik [Thu, 23 Jul 2020 14:30:56 +0000 (16:30 +0200)] 
virdevmapper.c: Join two WITH_DEVMAPPER sections together

There are two distinct WITH_DEVMAPPER sections in the file, for
different functions each. Rearrange the code to make some of
future commits smaller.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
5 years agopo: Refresh potfile for v6.6.0 v6.6.0-rc1
Jiri Denemark [Fri, 24 Jul 2020 22:45:52 +0000 (00:45 +0200)] 
po: Refresh potfile for v6.6.0

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
5 years agoTranslated using Weblate (French)
Daniel P. Berrangé [Fri, 24 Jul 2020 13:02:00 +0000 (15:02 +0200)] 
Translated using Weblate (French)

Currently translated at 12.4% (1282 of 10318 strings)

Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/fr/

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
5 years agoTranslated using Weblate (Hungarian)
Balázs Meskó [Fri, 24 Jul 2020 13:01:57 +0000 (15:01 +0200)] 
Translated using Weblate (Hungarian)

Currently translated at 2.5% (265 of 10318 strings)

Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/hu/

Signed-off-by: Balázs Meskó <meskobalazs@mailbox.org>
5 years agoUpdate translation files
Weblate [Fri, 24 Jul 2020 13:01:54 +0000 (15:01 +0200)] 
Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/

Signed-off-by: Fedora Weblate Translation <i18n@lists.fedoraproject.org>
Update translation files

Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.

Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/

Signed-off-by: Fedora Weblate Translation <i18n@lists.fedoraproject.org>
5 years agoTranslated using Weblate (French)
Jean-Baptiste Holcroft [Fri, 24 Jul 2020 13:01:51 +0000 (15:01 +0200)] 
Translated using Weblate (French)

Currently translated at 12.4% (1282 of 10318 strings)

Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/fr/

Signed-off-by: Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
Translated using Weblate (French)

Currently translated at 12.0% (1241 of 10318 strings)

Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/fr/

Signed-off-by: Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr>
5 years agoTranslated using Weblate (Italian)
Pino Toscano [Fri, 24 Jul 2020 13:01:48 +0000 (15:01 +0200)] 
Translated using Weblate (Italian)

Currently translated at 23.5% (2435 of 10318 strings)

Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/it/

Signed-off-by: Pino Toscano <toscano.pino@tiscali.it>
Translated using Weblate (Italian)

Currently translated at 15.1% (1566 of 10318 strings)

Translation: libvirt/libvirt
Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/it/

Signed-off-by: Pino Toscano <toscano.pino@tiscali.it>
5 years agoconf: add control over COW for storage pool directories
Daniel P. Berrangé [Fri, 17 Jul 2020 18:32:18 +0000 (19:32 +0100)] 
conf: add control over COW for storage pool directories

The storage pool code now attempts to disable COW by default on btrfs,
but management applications may wish to override this behaviour. Thus we
introduce a concept of storage pool features:

  <features>
    <cow state='yes|no'/>
  </features>

If the <cow> feature policy is set, it will be enforced. It will always
return an hard error if COW cannot be explicitly set or unset.

Reviewed-by: Neal Gompa <ngompa13@gmail.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
5 years agostorage: attempt to disable COW by default
Daniel P. Berrangé [Fri, 17 Jul 2020 18:30:48 +0000 (19:30 +0100)] 
storage: attempt to disable COW by default

This calls virFileSetCOW when building a pool with a request to attempt,
but not require, COW to be disabled. The effect is that nothing changes
on non-btrfs filesystems, but btrfs will get COW disabled on the
directory. This setting is then inherited by all newly created files in
the pool, avoiding the need for mgmt app to set "nocow" on a per-volume
basis.

Reviewed-by: Neal Gompa <ngompa13@gmail.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
5 years agostorage: convert to use virFileSetCOW
Daniel P. Berrangé [Fri, 17 Jul 2020 18:28:08 +0000 (19:28 +0100)] 
storage: convert to use virFileSetCOW

When disabling COW on individual files, we now use the virFileSetCOW
method. Note that this change has a slight semantic difference to the
old implementation.

The original code reported errors but returned success when disabling
COW failed.

With this new code, we will always report an error if the user requested
disabling of COW and we could not honour it, either because btrfs
returned an error, or because the filesystem is not btrfs.

Reviewed-by: Neal Gompa <ngompa13@gmail.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
5 years agoutil: add a helper method for controlling the COW flag on btrfs
Daniel P. Berrangé [Fri, 17 Jul 2020 18:16:27 +0000 (19:16 +0100)] 
util: add a helper method for controlling the COW flag on btrfs

btrfs defaults to performing copy-on-write for files. This is often
undesirable for VM images, so we need to be able to control whether this
behaviour is used.

The virFileSetCOW() will allow for this. We use a tristate, since out of
the box, we want the default behaviour attempt to disable cow, but only
on btrfs, silently do nothing on non-btrfs. If someone explicitly asks
to disable/enable cow, then we want to raise a hard error on non-btrfs.

Reviewed-by: Neal Gompa <ngompa13@gmail.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
5 years agoAdd a check attribute on the mac address element
Bastien Orivel [Mon, 13 Jul 2020 09:44:13 +0000 (11:44 +0200)] 
Add a check attribute on the mac address element

This is only used in the ESX driver where, when set to "no", it will
ignore all the checks libvirt does about the origin of the MAC address
(whether or not it's in a VMWare OUI) and forward the original one to
the ESX server telling it not to check it either.

This allows keeping a deterministic MAC address which can be useful for
licensed software which might dislike changes.

Signed-off-by: Bastien Orivel <bastien.orivel@diateam.net>
VMX conversion parts rewritten to apply on top of previously merged
support for type='generated|static'

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
5 years agovmx: support outputing the type attribute for MAC addresses
Daniel P. Berrangé [Mon, 20 Jul 2020 15:46:09 +0000 (16:46 +0100)] 
vmx: support outputing the type attribute for MAC addresses

When support for MAC addresses having a type='static|generated'
attribute was added in:

  commit 454e5961abf40c14f8b6d7ee216229e68fd170bf
  Author: Bastien Orivel <bastien.orivel@diateam.net>
  Date:   Mon Jul 13 16:28:53 2020 +0200

    Add a type attribute on the mac address element

the VMX -> XML parser was not updated. As a result while we
accept the 'type' attribute on input, we never show it again
on 'output', so we loose information during the roundtrip.

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
5 years agovmx: fix logic handling mac address type
Daniel P. Berrangé [Mon, 20 Jul 2020 14:59:51 +0000 (15:59 +0100)] 
vmx: fix logic handling mac address type

With the current formatter, the XML snippets:

    <interface type='bridge'>
      <mac address='00:0c:29:dd:ee:fe' type='static'/>
      <source bridge='br1'/>
    </interface>
    <interface type='bridge'>
      <mac address='aa:bb:cc:dd:ee:fd' type='generated'/>
      <source bridge='br2'/>
    </interface>

result in

 ethernet1.present = "true"
 ethernet1.networkName = "br1"
 ethernet1.connectionType = "bridged"
 ethernet1.addressType = "static"
 ethernet1.address = "00:0c:29:dd:ee:fe"
 ethernet1.checkMACAddress = "false"

 ethernet2.present = "true"
 ethernet2.networkName = "br2"
 ethernet2.connectionType = "bridged"
 ethernet2.addressType = "static"
 ethernet2.address = "aa:bb:cc:dd:ee:fd"
 ethernet2.checkMACAddress = "false"

which is flawed, as both type='static' and type='generated' in the XML
turn into 'static' in the VMX config.

The existence of the 'static' attribute is further overriding whether
the checkMACAddress config option is set as a side effect.

Both these pieces of flawed logic were introduced in

  commit 454e5961abf40c14f8b6d7ee216229e68fd170bf
  Author: Bastien Orivel <bastien.orivel@diateam.net>
  Date:   Mon Jul 13 16:28:53 2020 +0200

    Add a type attribute on the mac address element

which intentionally added the 'checkMACAddress' side effect based on
the 'type' attribute.

With this change, we're reverting the handling of checkMACAddress
to match what existed historically. The 'type' attribute now directly
maps to the addressType attribute, so the above config becomes:

 ethernet1.present = "true"
 ethernet1.networkName = "br1"
 ethernet1.connectionType = "bridged"
 ethernet1.addressType = "static"
 ethernet1.address = "00:0c:29:dd:ee:fe"

 ethernet2.present = "true"
 ethernet2.networkName = "br2"
 ethernet2.connectionType = "bridged"
 ethernet2.addressType = "generated"
 ethernet2.generatedAddress = "aa:bb:cc:dd:ee:fd"
 ethernet2.generatedAddressOffset = "0"

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
5 years agotools: be more paranoid about possibly NULL description
Daniel P. Berrangé [Wed, 22 Jul 2020 16:32:54 +0000 (17:32 +0100)] 
tools: be more paranoid about possibly NULL description

GCC 10 complains about "desc" possibly being a NULL dereference. Even
though it is a false positive, we can easily avoid it.

Reviewed-by: Laine Stump <laine@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
5 years agotests: don't mock the time() function on mingw
Daniel P. Berrangé [Wed, 22 Jul 2020 16:31:33 +0000 (17:31 +0100)] 
tests: don't mock the time() function on mingw

The mingw header define time() as a static inline function and this
causes a duplicate definition build failure. Since we're not using the
LD_PRELOAD at all on Mingw, we ideally wouldn't compile any of the
mock libraries. Rather than change the build system now though, this
just stubs out the offending function.

Reviewed-by: Laine Stump <laine@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
5 years agom4: enable -fstack-protector-strong on mingw
Daniel P. Berrangé [Wed, 22 Jul 2020 16:29:19 +0000 (17:29 +0100)] 
m4: enable -fstack-protector-strong on mingw

Historically we avoided -fstack-protector* since it resulted in a broken
build on Mingw. In GCC 10 in Fedora though, we have the opposite problem,
getting a broken build if we don't enable one of the -fstack-protector*
options. This also works in GCC 9, so we don't need to worry about the
old brokeness which evidentally got fixed at some time without noticing.

Reviewed-by: Laine Stump <laine@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
5 years agoutil: refactor code to workaround gcc 10.1.0 bug
Daniel P. Berrangé [Wed, 22 Jul 2020 14:58:16 +0000 (15:58 +0100)] 
util: refactor code to workaround gcc 10.1.0 bug

gcc 10.1.0 on Debian sid has a bug where the bounds checking gets
confused beteen two branches:

In file included from /usr/include/string.h:495,
                 from ../../src/internal.h:28,
                 from ../../src/util/virsocket.h:21,
                 from ../../src/util/virsocketaddr.h:21,
                 from ../../src/util/virnetdevip.h:21,
                 from ../../src/util/virnetdevip.c:21:
In function 'memcpy',
    inlined from 'virNetDevGetifaddrsAddress' at ../../src/util/virnetdevip.c:914:13,
    inlined from 'virNetDevIPAddrGet' at ../../src/util/virnetdevip.c:962:16:
/usr/include/arm-linux-gnueabihf/bits/string_fortified.h:34:10: error: '__builtin_memcpy' offset [16, 27] from the object at 'addr' is out of the bounds of referenced subobject 'inet4' with type 'struct sockaddr_in' at offset 0 [-Werror=array-bounds]
   34 |   return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest));
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../src/util/virnetdevip.h:21,
                 from ../../src/util/virnetdevip.c:21:
../../src/util/virnetdevip.c: In function 'virNetDevIPAddrGet':
../../src/util/virsocketaddr.h:29:28: note: subobject 'inet4' declared here
   29 |         struct sockaddr_in inet4;
      |                            ^~~~~
cc1: all warnings being treated as errors

Note the source location is pointing to the "inet6" / AF_INET6 branch of
the "if", but is complaining about bounds of the "inet4" field. Changing
the code into a switch() is sufficient to avoid triggering the bug and
is arguably better code too.

Reviewed-by: Laine Stump <laine@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
5 years agoci: Run 'make distcheck' on FreeBSD
Andrea Bolognani [Thu, 23 Jul 2020 08:29:35 +0000 (10:29 +0200)] 
ci: Run 'make distcheck' on FreeBSD

The Cirrus CI integration was modeled after the Travis CI jobs,
but those were limited to macOS where the test suite is currently
still broken. FreeBSD can run the full distcheck just fine, so
let's do that.

Fixes: 6190c14151c3e2cf5c30b9df9131697f5c3b64b9
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
5 years agoqemu: Fix affinity typo
Ján Tomko [Wed, 22 Jul 2020 13:50:06 +0000 (15:50 +0200)] 
qemu: Fix affinity typo

Fixes: 4c0398b5284d14c55eca51095673b6fadbbd85fb
Signed-off-by: Ján Tomko <jtomko@redhat.com>
5 years agoformatdomain.html.in: mention pSeries NVDIMM 'align down' mechanic
Daniel Henrique Barboza [Mon, 20 Jul 2020 16:51:46 +0000 (13:51 -0300)] 
formatdomain.html.in: mention pSeries NVDIMM 'align down' mechanic

The reason why we align down the guest area (total-size - label-size) is
explained in the body of qemuDomainNVDimmAlignSizePseries(). This
behavior must also be documented in the user docs.

Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Reviewed-by: Andrea Bolognani <abologna@redhat.com>