summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* docs: index: Convert to 'rst'HEADmasterPeter Krempa2023-05-175-114/+98
| | | | | | | | | | Final piece of conversion of our non-generated pages to 'rst'. Special raw HTML is used for adding the appropriate code to fetch the blog planet. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* docs: acl: Convert to 'rst'Peter Krempa2023-05-174-103/+79
| | | | | | | | | | | | The only special bit about the 'acl' page was the inclusion of the objects and permissions tables. We can do that by the '.. raw::' directive. One reference from 'aclpolkit.rst' needed to be updated to go with the new header anchor naming. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* css: Fix styling of the "3 panel" pagesPeter Krempa2023-05-172-1/+2
| | | | | | | | | | | Use the same 'margin-bottom' bot for the normal and mobile layout fixing one of the panels touching the footer. Use same font size both for <h1> and <h2> used as the column titles as rst2html5 based on version can generate either of them. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* css: mobile: Make colums in "3 column" mobile layout widerPeter Krempa2023-05-171-1/+2
| | | | | | | | Use the full width of the parent box and drop the unnecessarily bigger margin. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* css: mobile: Fix hiding of big logo in mobile layoutPeter Krempa2023-05-171-1/+1
| | | | | | | | Use the '#index' id to select the proper page as the body element doesn't have 'index' class. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* css: mobile: Fix responsive design of 'docs' and 'knowledgebase' pagesPeter Krempa2023-05-171-0/+4
| | | | | | | | | | | | | When the pages were converted to rST it required changes to how the panels are created. This change was not reproduced in the specific media override for narrow displays and thus made those pages unusable. Note that two lines per document are needed as some rst2html5 versions format a <div class='section'> and others do a <section> element instead. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* css: mobile: Replace tabs with spacesPeter Krempa2023-05-171-62/+62
| | | | | Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* css: Drop styles for '.gitmirror' classPeter Krempa2023-05-171-9/+0
| | | | | | | Last use was removed in 11850158bdae1572d587b10ea8cb7c12d4f61527 Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* css: Drop styles for '.mail' classPeter Krempa2023-05-171-15/+0
| | | | | | | Use was removed in 5042a5def6d2d088ed19b10a08e5f40b11b2c58d Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* css: Drop style for 'p.image' selectorPeter Krempa2023-05-171-4/+0
| | | | | | | Last use was removed in b51afd97e56a6d9436f8706f952ebc6af647773c Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* css: Drop style for '#changelog' idPeter Krempa2023-05-171-5/+0
| | | | | | | The corresponding element was removed in 5e0211e0d3d7d01d5a49 Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* css: Drop styles for '#projects' idPeter Krempa2023-05-171-73/+0
| | | | | | | | There's nothing with such element id. The last mention was removed in 28183590754 Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* conf: numa: Allow formatting 'none' values for 'associativity' and 'policy' ↵Peter Krempa2023-05-176-9/+164
| | | | | | | | | | | | | of cache The parser makes the values mandatory and also the qemu code implements actions for those values. The formatter skips them though. Since format+parse is used to copy the XML at startup a definition with those values can't be started. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2203709 Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
* virDomainNumaDefNodeCacheParseXML: Refactor parsing of cache XMLPeter Krempa2023-05-171-46/+14
| | | | | | | Use virXMLProp* helpers to simplify the code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
* qemuxml2xmltest: Modernize all 'audio-' casesPeter Krempa2023-05-1726-56/+125
| | | | | | | Use DO_TEST_CAPS_LATEST to run with the latest capapbilities. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* qemuxml2argvtest: Use real caps instead of fake caps for 'audio-default-*' casesPeter Krempa2023-05-174-9/+15
| | | | | | | | Convert all of the 'audio-default-*' cases to use capabilities from qemu-4.2 instead of the fake caps. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* qemuxml2xmlout: Replace symlinks of all 'audio-' tests by real filesPeter Krempa2023-05-1726-26/+1100
| | | | | | | | | | | Symlinks are hard to maintain and especially un-cool when attempting to test against real capapbilities. Replace symlinks by real files first so that we can switch to real caps and see the difference. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* qemu: Generate command line for MTE featureMichal Privoznik2023-05-162-1/+7
| | | | | | | | This is pretty trivial, just append "mte=on/off" to -machine arguments. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
* qemu: Validate MTE featureMichal Privoznik2023-05-161-8/+17
| | | | | | | | The MTE feature is not supported by all QEMUs, only those with QEMU_CAPS_MACHINE_VIRT_MTE capability. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
* qemu:: Introduce QEMU_CAPS_MACHINE_VIRT_MTE capabilityMichal Privoznik2023-05-167-0/+8
| | | | | | | | The MTE feature (introduced in QEMU commit of v5.1.0-rc1~8^2~11) is detectable via 'qom-list-properties' for 'virt' machine type. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
* conf: Introduce MTE domain featureMichal Privoznik2023-05-167-1/+21
| | | | | | | | | | The Memory Tagging Extensions are hardware acceleration present in some ARM processors that allow memory error detection [1]. Introduce a domain XML knob that turns them on or off. 1: https://www.arm.com/blogs/blueprint/memory-safety-arm-memory-tagging-extension Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
* qemu: Drop @forceVFIO argument of qemuDomainGetMemLockLimitBytes()Michal Privoznik2023-05-164-22/+15
| | | | | | | | | | | After previous cleanup, there's not a single caller that would call qemuDomainGetMemLockLimitBytes() with @forceVFIO set. All callers pass false. Drop the unneeded argument from the function. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
* qemu: Drop @forceVFIO argument of qemuDomainAdjustMaxMemLock()Michal Privoznik2023-05-163-20/+15
| | | | | | | | | | | After previous cleanup, there's not a single caller that would call qemuDomainAdjustMaxMemLock() with @forceVFIO set. All callers pass false. Drop the unneeded argument from the function. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
* qemu_domin: Account for NVMe disks when calculating memlock limit on hotplugMichal Privoznik2023-05-162-1/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During hotplug of a NVMe disk we need to adjust the memlock limit. The computation of the limit is handled by qemuDomainGetMemLockLimitBytes() which looks at given domain definition and accounts for various device types (as different types require different amounts). But during disk hotplug the disk is not added to domain definition until the very last moment. Therefore, qemuDomainGetMemLockLimitBytes() has this @forceVFIO argument which tells it to assume VFIO even if there are no signs of VFIO in domain definition. And this kind of works, until the amount needed for NVMe disks changed (in v9.3.0-rc1~52). What's missing in the commit is making @forceVFIO behave the same as if there was an NVMe disk present in the domain definition. But, we can do even better - just mimic whatever we're doing for hostdevs. IOW - introduce qemuDomainAdjustMaxMemLockNVMe() that behaves the same as qemuDomainAdjustMaxMemLockHostdev(). There are subtle differences though: 1) qemuDomainAdjustMaxMemLockHostdev() can afford placing hostdev right at the end of vm->def->hostdevs, because the array was already reallocated (at the beginning of qemuDomainAttachHostPCIDevice()). But qemuDomainAdjustMaxMemLockNVMe() doesn't have that luxury. 2) qemuDomainAdjustMaxMemLockHostdev() places a virDomainHostdevDef pointer into domain definition, while qemuDomainStorageSourceAccessModifyNVMe() (which calls qemuDomainAdjustMaxMemLock()) sees a virStorageSource pointer but domain definition contains virDomainDiskDef. But that's okay, we can create a dummy disk definition and append it into the domain definition. After this, qemuDomainAdjustMaxMemLock() can be called with @forceVFIO = false, as the disk is now part of domain definition (when computing the new limit). Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2014030#c28 Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
* schemas: backup: Allow missing 'type' attribute for backup diskPeter Krempa2023-05-163-0/+12
| | | | | | | | | | | | | One of our examples in the 'formatbackup.rst' page shows following config: <disk name='vda' backup='yes'/> The schema didn't allow it though. Fix the schema as the internals were supposed to support it (except for the bug fixed in previous patches). Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* conf: backup: Fix logic for generating default backup filenamesPeter Krempa2023-05-163-2/+9
| | | | | | | | | | | | | If the 'disk->store' property is already allocated which happens e.g. when the disk is described by the backup XML but the optional filename is not filled in 'virDomainBackupDefAssignStore' would not fill in the default location. Fix the logic to do it also if a 'virStorageSource' categorizes as empty. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* virDomainBackupDefAssignStore: Restructure control flowPeter Krempa2023-05-161-6/+8
| | | | | | | Return early for errors instead of using 'else' branches. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* virmockstathelpers: Adapt to musl-1.2.4Michal Privoznik2023-05-161-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With musl-1.2.3: I get the following macros defined (from $builddir/meson-config.h): #define WITH_LSTAT 1 #define WITH_LSTAT64 1 #define WITH_LSTAT_DECL 1 #define WITH_STAT 1 #define WITH_STAT64 1 #define WITH_STAT_DECL 1 #define WITH___LXSTAT 1 #define WITH___LXSTAT64 1 #define WITH___XSTAT 1 #define WITH___XSTAT64 1 which in turn means the virmockstathelpers.c ends up defining: MOCK_STAT64 MOCK_LSTAT64 But with musl-1.2.4 everything changes and the set of defined macros gets simplified to: #define WITH_LSTAT 1 #define WITH_LSTAT_DECL 1 #define WITH_STAT 1 #define WITH_STAT_DECL 1 #define WITH___LXSTAT 1 #define WITH___XSTAT 1 which results in no MOCK_* macros defined in virmockstathelpers.c, i.e. no stat() mocking, nada. The reason for this simplification are these musl commits [1][2] which removed all 64 bit aliases. And that's not what our logic for deciding what flavor of stat() to mock counted with. Nevertheless, we do build with Alpine Linux in our CI, so how come we don't see this problem there? Well, simply because Alpine Linux maintainers decided to revert the commits [3][4]. But on distributions that use vanilla musl, this problem can be seen easily. 1: https://git.musl-libc.org/cgit/musl/commit/?id=246f1c811448f37a44b41cd8df8d0ef9736d95f4 2: https://git.musl-libc.org/cgit/musl/commit/?id=25e6fee27f4a293728dd15b659170e7b9c7db9bc 3: https://git.alpinelinux.org/aports/commit/main/musl?id=6a5563fbb45b3d9d60678d7bbf60dbb312a2d481 4: https://git.alpinelinux.org/aports/commit/main/musl?id=a089bd852f8983623fa85e0f5755a3e25bf53c72 Resolves: https://bugs.gentoo.org/906167 Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
* Translated using Weblate (Hungarian)Dankaházi (ifj.) István2023-05-121-87/+51
| | | | | | | | | | Currently translated at 2.7% (284 of 10399 strings) Translation: libvirt/libvirt Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/hu/ Co-authored-by: Dankaházi (ifj.) István <dankahazi.istvan@gmail.com> Signed-off-by: Dankaházi (ifj.) István <dankahazi.istvan@gmail.com>
* qemu: Update documentation for dbus_daemon qemu.conf keyAndrea Bolognani2023-05-112-2/+4
| | | | | | | | Reflect the new default value, and explain that a runtime lookup will be performed if the value is not an absolute path. Signed-off-by: Andrea Bolognani <abologna@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
* meson: Stop looking for dbus-daemonAndrea Bolognani2023-05-112-12/+1
| | | | | | | | Now that we're performing the lookup at runtime, doing it at build time is no longer necessary. Signed-off-by: Andrea Bolognani <abologna@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
* qemu: Find dbus-daemon at runtimeAndrea Bolognani2023-05-111-5/+9
| | | | | | | | | | | | Don't bother looking at /usr/libexec, since every distro ships dbus-daemon in $PATH. Note that it's still possible for the administrator to prevent this lookup and use an arbitrary binary by setting the appropriate key in qemu.conf. Signed-off-by: Andrea Bolognani <abologna@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
* qemu: Update documentation for qemu.conf keysAndrea Bolognani2023-05-102-4/+8
| | | | | | | | Reflect the new default value, and explain that a runtime lookup will be performed if the value is not an absolute path. Signed-off-by: Andrea Bolognani <abologna@redhat.com> Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
* meson: Stop looking for QEMU helpersAndrea Bolognani2023-05-102-24/+4
| | | | | | | | Now that we're performing the lookup at runtime, doing it at build time is no longer necessary. Signed-off-by: Andrea Bolognani <abologna@redhat.com> Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
* qemu: Find helpers at runtimeAndrea Bolognani2023-05-102-6/+26
| | | | | | | | | | | | | | | Use the recently introduced virFindFileInPathFull() function to discover the path for qemu-bridge-helper and qemu-pr-helper at runtime. Note that it's still possible for the administrator to prevent this lookup and use arbitrary binaries by setting the appropriate keys in qemu.conf: this simply removes the need to perform the lookup at build time, and thus to have the helpers installed in the build environment. Signed-off-by: Andrea Bolognani <abologna@redhat.com> Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
* util: Introduce virFileFindInPathFull()Andrea Bolognani2023-05-103-0/+37
| | | | | Signed-off-by: Andrea Bolognani <abologna@redhat.com> Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
* util: Small refactorAndrea Bolognani2023-05-101-6/+8
| | | | | | | Prepare for further changes. Signed-off-by: Andrea Bolognani <abologna@redhat.com> Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
* ci: integration: Flip QEMU upstream integration tests to Fedora 38Erik Skultety2023-05-101-12/+12
| | | | | Signed-off-by: Erik Skultety <eskultet@redhat.com> Reviewed-by: Andrea Bolognani <abologna@redhat.com>
* ci: Flip mingw jobs from Fedora 37 to Fedora 38Erik Skultety2023-05-107-23/+23
| | | | | Signed-off-by: Erik Skultety <eskultet@redhat.com> Reviewed-by: Andrea Bolognani <abologna@redhat.com>
* ci: Drop Fedora 36 targetErik Skultety2023-05-106-285/+0
| | | | | Signed-off-by: Erik Skultety <eskultet@redhat.com> Reviewed-by: Andrea Bolognani <abologna@redhat.com>
* ci: Add Fedora 38 targetErik Skultety2023-05-106-0/+285
| | | | | Signed-off-by: Erik Skultety <eskultet@redhat.com> Reviewed-by: Andrea Bolognani <abologna@redhat.com>
* Translated using Weblate (Hungarian)Dankaházi (ifj.) István2023-05-101-8/+6
| | | | | | | | | | Currently translated at 2.3% (243 of 10399 strings) Translation: libvirt/libvirt Translate-URL: https://translate.fedoraproject.org/projects/libvirt/libvirt/hu/ Co-authored-by: Dankaházi (ifj.) István <dankahazi.istvan@gmail.com> Signed-off-by: Dankaházi (ifj.) István <dankahazi.istvan@gmail.com>
* virfirewallmock: Replace virFindFileInPath() with virFirewallDIsRegistered()Michal Privoznik2023-05-101-12/+4
| | | | | | | | | | | | | | | | | Neither of tests that use virfirewallmock.c (networkxml2firewalltest, nwfilterebiptablestest, nwfilterxml2firewalltest, virfirewalltest) really call virFindFileInPath(). But at least networkxml2firewalltest calls virFirewallDIsRegistered(), under the hood. Now, the actual implementation connects to dbus and something, which is definitely not what we want in our test suite. Therefore, drop virFindFileInPath() implementation and provide implementation for virFirewallDIsRegistered() which just returns -2 to signal that firewalld is not registered. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Kristina Hanicova <khanicov@redhat.com>
* util: include virfirewall.h in virfirewalld.hMichal Privoznik2023-05-101-0/+2
| | | | | | | | | | The virfirewalld.h file provides a declaration for virFirewallDApplyRule() which accepts an argument of type virFirewallLayer. But the typedef lives in virfirewall.h and thus including just virfirewalld.h is not sufficient. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Kristina Hanicova <khanicov@redhat.com>
* conf: qemu: Add support for multi-channel mode for 'usb' sound cardsPeter Krempa2023-05-099-4/+44
| | | | | | | | | | Allow users controlling the multi-channel mode by adding a 'multichannel' property parsed for USB audio devices and wire up the support in the qemu driver. Closes: https://gitlab.com/libvirt/libvirt/-/issues/472 Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* conf: Register autoptr cleanup for 'virDomainSoundDef' and refactor ↵Peter Krempa2023-05-092-12/+8
| | | | | | | | | virDomainSoundDefParseXML Use our modern cleanup path pattern. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* qemuxml2(argv|xml)test: Modernize 'sound-device' casePeter Krempa2023-05-096-34/+66
| | | | | | | | | | | | | | Drop the unnecessary disk definition and use x86_64 emulator. For 'qemuxml2argvtest' replace the fake-caps invocation by a 4.2.0 version-locked invocation and add a '_CAPS_LATEST' invocation. For 'qemuxml2xmltest' convert to use '_CAPS_LATEST' only. There are no sound-device relevant changes in the output files. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* qemuxml2(argv|xml)test: Remove 'sound' casePeter Krempa2023-05-095-116/+0
| | | | | | | The test case is a subset of what the 'sound-device' case tests. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* docs: formatdomain: Use code blocks to emphasize various sound device optionsPeter Krempa2023-05-091-25/+25
| | | | | | | | Emphasize the various sound card models and other config options by using ``...``. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
* qemu: Report domain name in unexpectedly closed monitor messageMichal Privoznik2023-05-091-3/+6
| | | | | | | | | | | | | | When QEMU closes the monitor suddenly, the following error message is reported: internal error: qemu unexpectedly closed the monitor: ... And this works. But other error messages produced in the same function include domain name too. Do that for the unexpectedly closed monitor message too. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Peter Krempa <pkrempa@redhat.com>