- 17 5月, 2019 12 次提交
-
-
由 Daniel P. Berrangé 提交于
Various binaries are statically linking to libvirt_util.la and other intermediate libraries we build. These intermediate libs all get built into the main libvirt.so shared library eventually, so we can dynamically link to that instead and reduce the on disk footprint. In libvirt-daemon RPM: virtlockd: 1.6 MB -> 153 KB virtlogd: 1.6 MB -> 157 KB libvirt_iohelper: 937 KB -> 23 KB In libvirt-daemon-driver-network RPM: libvirt_leaseshelper: 940 KB -> 26 KB In libvirt-daemon-driver-storage-core RPM: libvirt_parthelper: 926 KB -> 21 KB IOW, about 5.6 MB total space saving in a build done on Fedora 30 x86_64 architecture. Reviewed-by: NJán Tomko <jtomko@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Michal Privoznik 提交于
We provide default values for both MODPROBE and RMMOD and thus there is no way that their paths can be empty strings. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NJán Tomko <jtomko@redhat.com>
-
由 Michal Privoznik 提交于
https://bugzilla.redhat.com/show_bug.cgi?id=1710575 It may happen that the system where libvirt is built at doesn't have udevadm binary but the one where it runs does have it. If we change how udevadm is run in virWaitForDevices() then we can safely pass a default value in m4 macro. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NJán Tomko <jtomko@redhat.com>
-
由 Michal Privoznik 提交于
The udevsettle binary is no longer used anywhere as it was replaced by 'udevadm settle'. There's no reason for us to even check for it in configure. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NJán Tomko <jtomko@redhat.com>
-
由 Michal Privoznik 提交于
It's not true that there is a backup loop. There isn't. Drop this part of the comment to not confuse anybody. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NJán Tomko <jtomko@redhat.com>
-
由 Andrea Bolognani 提交于
Since we know the full list of machine types supported by the QEMU binary when probing machine type properties, we can save some work (and eventually test suite churn, as more architecture-specific machine types need to be probed) by only probing machines that we know exist. Signed-off-by: NAndrea Bolognani <abologna@redhat.com> Reviewed-by: NPavel Hrdina <phrdina@redhat.com>
-
由 Andrea Bolognani 提交于
Now that we're probing machine type properties using the latest machine type rather than the "spapr-machine" parent, we can finally discover properties that are not available on all machine types. This commit refreshes replies for QEMU 4.0.0 as well as 3.1.0 to show not only that we're actually discovering new machine type properties this way, but also that the number of available machine type properties increases with each subsequent QEMU release. If qom-list-properties had been available in QEMU 2.10.0, we could now drop the explicit version number checks for the QEMU_CAPS_MACHINE_PSERIES_MAX_CPU_COMPAT and QEMU_CAPS_MACHINE_PSERIES_RESIZE_HPT capabilities, but unfortunately it wasn't, so we have to keep them around still. Signed-off-by: NAndrea Bolognani <abologna@redhat.com> Reviewed-by: NPavel Hrdina <phrdina@redhat.com>
-
由 Andrea Bolognani 提交于
Now that we have the list of machine types available when probing machine type properties, we can list properties for the canonicalized version of the "pseries" machine type instead of having to go through "spapr-machine", which we know to be the parent type for all "pseries-*-machine" types. By doing this, we'll be able to find even properties that are only available from a certain versioned machine type forward, and can't thus be obtained when looking at the parent type only. Signed-off-by: NAndrea Bolognani <abologna@redhat.com> Reviewed-by: NPavel Hrdina <phrdina@redhat.com>
-
由 Andrea Bolognani 提交于
The QOM type for machine types is the machine type name followed by the -machine suffix. Since this is always the case, we can make virQEMUCapsMachineProps more readable and avoid repetition by not including the suffix there and adding it automatically while processing the data; moreover, when later on we will start figuring out which specific versioned machine type to probe at runtime instead of doing so statically, adding the suffix dynamically will become necessary. Signed-off-by: NAndrea Bolognani <abologna@redhat.com> Reviewed-by: NPavel Hrdina <phrdina@redhat.com>
-
由 Andrea Bolognani 提交于
We're going to need information about available machine types when probing machine type properties soon, and that means we have to change the order we call QMP commands. Signed-off-by: NAndrea Bolognani <abologna@redhat.com> Reviewed-by: NPavel Hrdina <phrdina@redhat.com>
-
由 Andrea Bolognani 提交于
Up until now we've probed machine type properties, along with properties for other types, in virQEMUCapsProbeQMPDevices(), but soon we're going to need some logic that is specific to machine types and as such wouldn't quite fit into that function. Signed-off-by: NAndrea Bolognani <abologna@redhat.com> Reviewed-by: NPavel Hrdina <phrdina@redhat.com>
-
由 Peter Krempa 提交于
Commit c2573527 introduced a logic bug where we will never save the inactive XML after a blockjob as the variable which was determining whether to do so is cleared right before. Thus even if we correctly modify the inactive state it will be rolled back when libvirtd is restarted. Reported-by: NThomas Stein <hello@himbee.re> Signed-off-by: NPeter Krempa <pkrempa@redhat.com> Reviewed-by: NJán Tomko <jtomko@redhat.com>
-
- 16 5月, 2019 3 次提交
-
-
由 Ján Tomko 提交于
It has been exported by systemd commit commit a571c23e954cb88cdd5faa28593b19bd7c340130 libudev: export udev_monitor_set_receive_buffer_size() released in v183. Signed-off-by: NJán Tomko <jtomko@redhat.com> Reviewed-by: NPavel Hrdina <phrdina@redhat.com>
-
由 Ján Tomko 提交于
This is the version of systemd RHEL/CentOS 7 uses: https://repology.org/project/systemd/versions Oldest tracked openSUSE distros have 228, Ubuntu 16.04 has 229 and Gentoo's alternative eudev has bumped the version to 219 back in 2015. Signed-off-by: NJán Tomko <jtomko@redhat.com> Reviewed-by: NPavel Hrdina <phrdina@redhat.com>
-
由 Christian Ehrhardt 提交于
When a vhost scsi device is hotplugged virt-aa-helper is called to add the respective path. For example the config: <hostdev mode='subsystem' type='scsi_host' managed='no'> <source protocol='vhost' wwpn='naa.50014059de6fba4f'/> </hostdev> Will call it to add: /sys/kernel/config/target/vhost//naa.50014059de6fba4f But in general /sys paths are filtered in virt-aa-helper.c:valid_path To allow the path used for vhost-scsi we need to add it to the list of known and accepted overrides. Fixes: https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1829223Signed-off-by: NChristian Ehrhardt <christian.ehrhardt@canonical.com> Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
-
- 15 5月, 2019 5 次提交
-
-
由 Pavel Hrdina 提交于
The function was deprecated in udev 219 and all the supported OSes don't have older version of udev or systemd. Signed-off-by: NPavel Hrdina <phrdina@redhat.com> Reviewed-by: NJán Tomko <jtomko@redhat.com>
-
由 Christian Ehrhardt 提交于
CPU features that always were a no-op in qemu got removed there. We no more specify them as that would trigger errors and fail to start qemu. This test ensures that those features really are not rendered into qemu command line. Without the related fix this test will trigger and fail like: In 'tests/qemuxml2argvdata/cpu-no-removed-features.args': Offset 371 Expect [ ] Actual [,-osxsave,-ospke ] Signed-off-by: NChristian Ehrhardt <christian.ehrhardt@canonical.com> Reviewed-by: NDaniel Henrique Barboza <danielhb413@gmail.com> Tested-by: NDaniel Henrique Barboza <danielhb413@gmail.com>
-
由 Christian Ehrhardt 提交于
Qemu dropped cpu features for osxsave and ospke [1][2]. The reason for the instant removal is that those features were never configurable as discussed in [3]. Fortunately the use cases adding those flags in the past are rare, but they exist. One that I identified are e.g. older virt-install when used with --cpu=host-model and there always could be the case of a user adding it to the guest xml. This triggers an issue like: qemu-system-x86_64: can't apply global Broadwell-noTSX-x86_64- cpu.osxsave=on: Property '.osxsave' not found Ensure that this does no more break spawning newer qemu versions by not rendering those features into the qemu command line. Fixes: https://bugs.launchpad.net/fedora/+source/qemu/+bug/1825195 Resolves: https://bugzilla.redhat.com/1644848 [1]: https://git.qemu.org/?p=qemu.git;a=commit;h=f1a2352 [2]: https://git.qemu.org/?p=qemu.git;a=commit;h=9ccb978 [3]: https://www.mail-archive.com/qemu-devel@nongnu.org/msg561877.htmlSigned-off-by: NChristian Ehrhardt <christian.ehrhardt@canonical.com> Reviewed-by: NDaniel Henrique Barboza <danielhb413@gmail.com> Tested-by: NDaniel Henrique Barboza <danielhb413@gmail.com>
-
由 Jiri Denemark 提交于
CVE-2018-12126, CVE-2018-12127, CVE-2018-12130, CVE-2019-11091 The bit is set when microcode provides the mechanism to invoke a flush of various exploitable CPU buffers by invoking the VERW instruction. Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com> Signed-off-by: NJiri Denemark <jdenemar@redhat.com> Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Jiri Denemark 提交于
Signed-off-by: NJiri Denemark <jdenemar@redhat.com> Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
-
- 14 5月, 2019 5 次提交
-
-
由 Michal Privoznik 提交于
This function gets snapshot XML (provided by used) as an argument. It parses it into a local variable @def and then sets some more members (e.g. it creates a copy of live domain XML). Then it proceeds to checking if snapshot XML is valid (e.g. it contains as many disks as currently in the domain). If this fails then the control jumps to endjob label and subsequently return from the function. This is where AUTOFREE function for @def is ran. Well, because the code says to run plain VIR_FREE() we leak some memory because @def is actually an object and therefore it should have been declared as AUTOUNREF. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NErik Skultety <eskultet@redhat.com>
-
由 Michal Privoznik 提交于
A double free may occur in testCompareXMLToArgvFiles() when @def is freed right after virStoragePoolObjNew() failed and the second time at cleanup label. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NErik Skultety <eskultet@redhat.com>
-
由 Michal Privoznik 提交于
The idea of virCommand* APIs is that a possible error that occurred while constructing cmd line is kept in virCommand struct. If that's the case all subsequent calls to virCommand*() are NO-OPs or they return an error. Well, virCommandPassFDGetFDIndex() is not honoring that. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NErik Skultety <eskultet@redhat.com>
-
由 Michal Privoznik 提交于
Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NErik Skultety <eskultet@redhat.com>
-
由 Michal Privoznik 提交于
If virStoragePoolObjNew() fails to create new volume object list then virObjectUnref() is called and since refcounter is 1 then virStoragePoolObjDispose() is called which in turn calls virStoragePoolObjClearVols() which in turn dereferences obj->volumes. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NErik Skultety <eskultet@redhat.com>
-
- 13 5月, 2019 7 次提交
-
-
由 Huaqiang 提交于
The qsort element is a pointer of virResctrlMonitorStats, and the comparing function's arguments have a type of pointer of virResctrlMonitorStatsPtr. Signed-off-by: NHuaqiang <huaqiang.wang@intel.com> Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Michal Privoznik 提交于
The virDomainGetDiskErrors() API copies disk targets into @disks array that we allocate. But we forgot to free it: ==140828== 16 bytes in 4 blocks are definitely lost in loss record 41 of 242 ==140828== at 0x4C2F08F: malloc (vg_replace_malloc.c:299) ==140828== by 0x8C406D9: strdup (in /lib64/libc-2.28.so) ==140828== by 0x5377DD3: virStrdup (virstring.c:966) ==140828== by 0x54C112F: testDomainGetDiskErrors (test_driver.c:3068) ==140828== by 0x55C863D: virDomainGetDiskErrors (libvirt-domain.c:10988) ==140828== by 0x15D1FA: cmdDomBlkError (virsh-domain-monitor.c:1215) ==140828== by 0x17F1A8: vshCommandRun (vsh.c:1335) ==140828== by 0x13489E: main (virsh.c:920) Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Ilias Stamatis 提交于
Return the number of disks present in the configuration of the test domain when called with @errors as NULL and @maxerrors as 0. Otherwise report an error for every second disk, assigning available error codes in a cyclic order. Signed-off-by: NIlias Stamatis <stamatis.iliass@gmail.com> Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Andrea Bolognani 提交于
Our build system doesn't currently install the various example programs provided along libvirt; however, both the upstream .spec file and the Debian packaging go out of their way to make sure these useful demos are included in the respective documentation packages. Moreover, doing so without help from the upstream build system is easy to get wrong: the libvirt-docs RPM package, for example, ends up missing one of the examples and including a bunch of empty .deps/ directories. Install the examples in $(docdir) as part of our regular procedure, so that users and downstreams don't have to do anything special about them. Signed-off-by: NAndrea Bolognani <abologna@redhat.com> Acked-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Andrea Bolognani 提交于
At the moment we allow the user to specify exactly where they want the HTML documentation to be installed with an extreme level of precision through the --with-html-dir and --with-html-subdir configure options. Most of the time, of course, the user will stick with the default, that is $(datadir)/doc/$(PACKAGE)-$(VERSION)/html. So close to $(docdir)! Including the version number in the path, specifically, seems entirely unnecessary since different releases of libvirt are not going to be able to coexist on the same system anyway. Drop all these custom flexibilty for flexibilty's sake shenaningans in favor of the standard, well understood $(docdir). Signed-off-by: NAndrea Bolognani <abologna@redhat.com> Acked-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Andrea Bolognani 提交于
Our XSLT magic generates one Devhelp-compatible HTML file per documentation module, but so far we have only shipped and installed documentation for virterror. Now that we have $(modules), however, we can generate the list of files the same way we do for regular documentation and make sure we always ship and install everything. Signed-off-by: NAndrea Bolognani <abologna@redhat.com> Acked-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Andrea Bolognani 提交于
This variable contains a lists of documentation modules, in a neutral format. Right now is only used to define $(apihtml_generated), but later on we're gonna reuse it. Signed-off-by: NAndrea Bolognani <abologna@redhat.com> Acked-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 10 5月, 2019 6 次提交
-
-
由 Eric Blake 提交于
In refactoring the snapshot code to prepare for checkpoints, I changed qemuDomainMomentDiscardAll to take a callback that would handle the cleanup of either a snapshot or a checkpoint, but failed to set the callback on one of the two snapshot callers. As a result, 'virsh undefine $dom --snapshots-metadata' crashed on a NULL function dereference. Fixes: a487890d Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1707708Signed-off-by: NEric Blake <eblake@redhat.com> Acked-by: NPeter Krempa <pkrempa@redhat.com>
-
由 Martin Kletzander 提交于
This way more users can run our CI builds locally. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com> Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Michal Privoznik 提交于
If no board was detected then VIR_REALLOC_N() done at the end of the function will actually free the memory (because nborads == 0), but @boards will be set to a non-NULL pointer. This makes it unnecessary harder for a caller to see if any board was detected. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Michal Privoznik 提交于
Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Ján Tomko 提交于
Commit 10575666 was too eager and did not consider SLES 12 which still has 2.0.1 that does not ship a pkg-config file. Similar to how we check for readline, prefer pkg-config if available and fall back to the old detection code if not found. NB: this is not a clean revert because we're not reintroducing support for YAJL 1. Signed-off-by: NJán Tomko <jtomko@redhat.com> Reported-by: NOlaf Hering <olaf@aepfle.de> Reviewed-by: NAndrea Bolognani <abologna@redhat.com>
-
由 Martin Kletzander 提交于
The way it works now the Makefile needs to be both make valid and automake valid. That is fine for now, but if we want to use anything more advanced, like conditionals, we cannot have it like that any more. So instead forward all ci-* rules to that file. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
- 09 5月, 2019 2 次提交
-
-
由 Eric Blake 提交于
This brings about a couple of benefits: - use of VIR_AUTOUNREF() simplifies several callers - Fixes a todo about virDomainMomentObjList not being polymorphic enough Signed-off-by: NEric Blake <eblake@redhat.com> Acked-by: NPeter Krempa <pkrempa@redhat.com>
-
由 Eric Blake 提交于
In preparation for making virDomainSnapshotDef a descendant of virObject, it is time to fix all callers that allocate an object to use virDomainSnapshotDefNew() instead of VIR_ALLOC(). Fortunately, there aren't very many :) Signed-off-by: NEric Blake <eblake@redhat.com> Acked-by: NPeter Krempa <pkrempa@redhat.com>
-