- 07 8月, 2019 1 次提交
-
-
由 Daniel P. Berrangé 提交于
The virt-login-shell setuid program is now a tiny piece of code that only uses standard libc functions, and santizes the execution environment before invoking the real virt-login-shell-helper. The latter is thus able to use the normal libvirt.so build, allowing us to delete the special cut down setuid library build. Reviewed-by: NMichal Privoznik <mprivozn@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
- 27 7月, 2019 1 次提交
-
-
由 Eric Blake 提交于
Introduce a bunch of new public APIs related to backup checkpoints. Checkpoints are modeled heavily after virDomainSnapshotPtr (both represent a point in time of the guest), although a snapshot exists with the intent of rolling back to that state, while a checkpoint exists to make it possible to create an incremental backup at a later time. We may have a future hypervisor that can completely manage checkpoints without libvirt metadata, but the first two planned hypervisors (qemu and test) both always use libvirt for tracking metadata relations between checkpoints, so for now, I've deferred the counterpart of virDomainSnapshotHasMetadata for a separate API addition at a later date if there is ever a need for it. Note that until we allow snapshots and checkpoints to exist simultaneously on the same domain (although the actual prevention of this will be in a separate patch for the sake of an easier revert down the road), that it is not possible to branch out to create more than one checkpoint child to a given parent, although it may become possible later when we revert to a snapshot that coincides with a checkpoint. This also means that for now, the decision of which checkpoint becomes the parent of a newly created one is the only checkpoint with no child (so while there are APIs for dealing with a current snapshot, we do not need those for checkpoints). We may end up exposing a notion of a current checkpoint later, but it's easier to add stuff when proven needed than to blindly support it now and wish we hadn't exposed it. The following map shows the API relations to snapshots, with new APIs on the right: Operate on a domain object to create/redefine a child: virDomainSnapshotCreateXML virDomainCheckpointCreateXML Operate on a child object for lifetime management: virDomainSnapshotDelete virDomainCheckpointDelete virDomainSnapshotFree virDomainCheckpointFree virDomainSnapshotRef virDomainCheckpointRef Operate on a child object to learn more about it: virDomainSnapshotGetXMLDesc virDomainCheckpointGetXMLDesc virDomainSnapshotGetConnect virDomainCheckpointGetConnect virDomainSnapshotGetDomain virDomainCheckpointGetDomain virDomainSnapshotGetName virDomainCheckpiontGetName virDomainSnapshotGetParent virDomainCheckpiontGetParent virDomainSnapshotHasMetadata (deferred for later) virDomainSnapshotIsCurrent (no counterpart, see note above) Operate on a domain object to list all children: virDomainSnapshotNum (no counterparts, these are the old virDomainSnapshotListNames racy interfaces) virDomainSnapshotListAllSnapshots virDomainListAllCheckpoints Operate on a child object to list descendents: virDomainSnapshotNumChildren (no counterparts, these are the old virDomainSnapshotListChildrenNames racy interfaces) virDomainSnapshotListAllChildren virDomainCheckpointListAllChildren Operate on a domain to locate a particular child: virDomainSnapshotLookupByName virDomainCheckpointLookupByName virDomainSnapshotCurrent (no counterpart, see note above) virDomainHasCurrentSnapshot (no counterpart, old racy interface) Operate on a snapshot to roll back to earlier state: virDomainSnapshotRevert (no counterpart, instead checkpoints are used in incremental backups via XML to virDomainBackupBegin) Signed-off-by: NEric Blake <eblake@redhat.com> Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
-
- 17 5月, 2019 1 次提交
-
-
由 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>
-
- 11 4月, 2019 1 次提交
-
-
由 Daniel P. Berrangé 提交于
Few of the scripts in build-aux are included in EXTRA_DIST. This is not a serious problem since they are primarily tools intended for developers upstream, and downstream builds won't need them. Having them missing, however, complicates downstream patching because it means patches that are auto-exported from git will fail to apply if they include a change to a file in build-aux/. By bundling all these scripts in the dist we make patching more straightforward. Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
- 10 4月, 2019 2 次提交
-
-
由 Peter Krempa 提交于
virutil.(c|h) is a very gross collection of random code. Remove the enum handlers from there so we can limit the scope where virtutil.h is used. Signed-off-by: NPeter Krempa <pkrempa@redhat.com> Reviewed-by: NJán Tomko <jtomko@redhat.com>
-
由 Peter Krempa 提交于
Keeping them with viralloc.h forcibly pulls in the other stuff from viralloc.h into other header files. This in turn creates a mess as more and more headers pull in the 'viral' header file. If we want to make 'viralloc.h' omnipresent we should pick a different approach. Signed-off-by: NPeter Krempa <pkrempa@redhat.com> Reviewed-by: NJán Tomko <jtomko@redhat.com>
-
- 16 3月, 2019 2 次提交
-
-
由 Andrea Bolognani 提交于
Despite the misleading name, these were supposed to be used with a System V style init; however, none of the platforms we target is using that kind of init anymore: almost all Linux distributions have switched to systemd, those that haven't (such as Gentoo and Alpine) are mostly using OpenRC with custom init scripts, and the BSDs have been doing their own thing all along. Signed-off-by: NAndrea Bolognani <abologna@redhat.com> Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Andrea Bolognani 提交于
Not a single one of the platforms we target still uses Upstart, and the Upstart project itself has been abandoned for several years now. Signed-off-by: NAndrea Bolognani <abologna@redhat.com> Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
-
- 15 3月, 2019 1 次提交
-
-
由 Cole Robinson 提交于
We provide a custom configure option --enable-test-coverage and 'make cov' target to generate code coverage reports. However gnulib already provides a 'make coverage' which 'just works' and doesn't require a special configure option. This drops our custom implementation in favor of 'make coverage'. Reports are now output to cov/index.html Reviewed-by: NMartin Kletzander <mkletzan@redhat.com> Signed-off-by: NCole Robinson <crobinso@redhat.com>
-
- 14 3月, 2019 2 次提交
-
-
由 Andrea Bolognani 提交于
Apparently this was necessary in the past because old versions of autoconf/automake didn't make them available, but these days all of the platforms we target include recent enough autotools - as evidenced by the fact that, for example, we already use abs_top_srcdir in tools/ despite the fact that tools/Makefile.am is missing the same boilerplate. Signed-off-by: NAndrea Bolognani <abologna@redhat.com> Reviewed-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Andrea Bolognani 提交于
According to the official documentation for autoconf[1], the correct names for these variables are abs_top_{src,build}dir rather than abs_top{src,build}dir; in fact, we're already using the correct names in various places, so let's just make everything nice and consistent. [1] https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Preset-Output-Variables.htmlSigned-off-by: NAndrea Bolognani <abologna@redhat.com> Reviewed-by: NMartin Kletzander <mkletzan@redhat.com>
-
- 16 1月, 2019 1 次提交
-
-
由 Andrea Bolognani 提交于
According to the GNU Make manual, "double-colon rules are somewhat obscure and not often very useful". Looking at the few instances we have in libvirt, that certainly seems to be the case, so just drop them. Signed-off-by: NAndrea Bolognani <abologna@redhat.com> Reviewed-by: NErik Skultety <eskultet@redhat.com>
-
- 10 1月, 2019 3 次提交
-
-
由 Andrea Bolognani 提交于
Instead of defining targets conditionally and depending on them unconditionally, define a couple of variables and conditionally add targets to them. In addition to removing a bunch of useless code, this has the nice effect of no longer requiring the main Makefile.am to have any knowledge about the contents of the various snippets it includes. Signed-off-by: NAndrea Bolognani <abologna@redhat.com> Reviewed-by: NErik Skultety <eskultet@redhat.com>
-
由 Andrea Bolognani 提交于
This is consistent with the way we already handle configuration for other init systems such as upstart and systemd. Signed-off-by: NAndrea Bolognani <abologna@redhat.com> Reviewed-by: NErik Skultety <eskultet@redhat.com>
-
由 Andrea Bolognani 提交于
Avoid building the same path several times. Signed-off-by: NAndrea Bolognani <abologna@redhat.com> Reviewed-by: NErik Skultety <eskultet@redhat.com>
-
- 08 1月, 2019 2 次提交
-
-
由 Eric Blake 提交于
Our use of INCLUDES in Makefile.am hearkens back to when we had to cater to automake 1.9.6 (thanks, RHEL 5) which lacked AM_CPPFLAGS. Modern Automake flags a warning that INCLUDES is deprecated, and now that we mandate RHEL 7 or better (see commit c1bc9c66), we no longer have to cater to the old spelling. This change will also make it easier to do per-binary CPPFLAGS. Signed-off-by: NEric Blake <eblake@redhat.com> Reviewed-by: NJán Tomko <jtomko@redhat.com>
-
由 Eric Blake 提交于
Commit c0a8ea45 removed the use of gettextize, and the setting of GETTEXT_CPPFLAGS, but did not scrub the now-unused variable from Makefile.am snippets. Signed-off-by: NEric Blake <eblake@redhat.com> Reviewed-by: NJán Tomko <jtomko@redhat.com>
-
- 18 12月, 2018 1 次提交
-
-
由 Michal Privoznik 提交于
The driver is unmaintained, untested and severely broken for quite some time now. Since nobody even reported any issue with it let us drop it. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
-
- 05 10月, 2018 1 次提交
-
-
由 Pavel Hrdina 提交于
Place cgroup v2 backend type before cgroup v1 to make it obvious that cgroup v2 is preferred implementation. Following patches will introduce support for hybrid configuration which will allow us to use both at the same time, but we should prefer cgroup v2 regardless. Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
-
- 25 9月, 2018 2 次提交
-
-
由 Pavel Hrdina 提交于
Reviewed-by: NFabiano Fidêncio <fidencio@redhat.com> Reviewed-by: NJán Tomko <jtomko@redhat.com> Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
-
由 Pavel Hrdina 提交于
We will need to extract current cgroup v1 implementation into separate backend because there will be new cgroup v2 implementation and both will have to co-exist. Reviewed-by: NFabiano Fidêncio <fidencio@redhat.com> Reviewed-by: NJán Tomko <jtomko@redhat.com> Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
-
- 28 8月, 2018 1 次提交
-
-
由 Daniel P. Berrangé 提交于
In preparation for splitting up the CPU map data file, move it into a dedicated directory of its own. Reviewed-by: NJiri Denemark <jdenemar@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
- 13 8月, 2018 3 次提交
-
-
由 Ján Tomko 提交于
This reverts commit 9cf38263. Jansson cannot parse QEMU's quirky JSON. Revert back to yajl. https://bugzilla.redhat.com/show_bug.cgi?id=1614569Signed-off-by: NJán Tomko <jtomko@redhat.com> Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Ján Tomko 提交于
This reverts commit ce3c6ef6. Jansson cannot parse QEMU's quirky JSON. Revert back to yajl. https://bugzilla.redhat.com/show_bug.cgi?id=1614569Signed-off-by: NJán Tomko <jtomko@redhat.com> Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Ján Tomko 提交于
This reverts commit 5d40272e. Jansson cannot parse QEMU's quirky JSON. Revert back to yajl. https://bugzilla.redhat.com/show_bug.cgi?id=1614569Signed-off-by: NJán Tomko <jtomko@redhat.com> Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
-
- 10 8月, 2018 1 次提交
-
-
由 Michal Privoznik 提交于
There are few places where dlopen() is called. This call means we have to link with DLOPEN_LIBS. However, instead of having each final, installable library linking with it, move the directive to the source that introduced the dependency. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NJim Fehlig <jfehlig@suse.com>
-
- 01 8月, 2018 1 次提交
-
-
由 Daniel P. Berrangé 提交于
The jansson and json-glib libraries both export symbols with a json_ name prefix and json_object_iter_next() clashes between them. Unfortunately json-glib is linked in by GTK, so any app using GTK and libvirt will get a clash, resulting in SEGV. This also affects the NSS module provided by libvirt Instead of directly linking to jansson, use dlopen() with the RTLD_LOCAL flag which allows us to hide the symbols from the application that loads libvirt or the NSS module. Some preprocessor black magic and wrapper functions are used to redirect calls into the dlopen resolved symbols. Reviewed-by: NAndrea Bolognani <abologna@redhat.com> Reviewed-by: NJán Tomko <jtomko@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
- 18 7月, 2018 1 次提交
-
-
由 Ján Tomko 提交于
Yajl has not seen much activity upstream recently. Switch to using Jansson >= 2.5. All the platforms we target on https://libvirt.org/platforms.html have a version >= 2.7 listed on the sites below: https://repology.org/metapackage/jansson/versions https://build.opensuse.org/package/show/devel:libraries:c_c++/libjansson Additionally, Ubuntu 14.04 on Travis-CI has 2.5. Set the requirement to 2.5 since we don't use anything from newer versions. Implement virJSONValue{From,To}String using Jansson, delete the yajl code (and the related virJSONParser structure) and report an error if someone explicitly specifies --with-yajl. Also adjust the test data to account for Jansson's different whitespace usage for empty arrays and tune up the specfile to keep 'make rpm' working when bisecting. Signed-off-by: NJán Tomko <jtomko@redhat.com>
-
- 05 6月, 2018 2 次提交
-
-
由 Michal Privoznik 提交于
Now that GnuTLS is required these symbols are going to be present all the time. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Jiri Denemark 提交于
The files are not scripts and should not be executable. Broken by v4.0.0-294-g5f998681. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
- 02 5月, 2018 1 次提交
-
-
由 Ján Tomko 提交于
s/atttribute/attribute/ Signed-off-by: NJán Tomko <jtomko@redhat.com>
-
- 24 4月, 2018 2 次提交
-
-
由 Daniel P. Berrangé 提交于
We previously added "-z nodelete" to the build of libvirt.so to prevent crashes when thread local destructors run which point to a code that has been dlclose()d: commit 8e44e559 Author: Daniel P. Berrange <berrange@redhat.com> Date: Thu Sep 1 17:57:06 2011 +0100 Prevent crash from dlclose() of libvirt.so The libvirtd loadable modules can suffer from the same problem if they were ever unloaded. Fortunately we don't ever call dlclose() on them, but lets add a second layer of protection by linking them with the "-z nodelete" flag. While we're doing this, lets add a third layer of protection by passing RTLD_NODELETE to dlopen(). Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
We previously added "-z nodelete" to the build of libvirt.so to prevent crashes when thread local destructors run which point to a code that has been dlclose()d: commit 8e44e559 Author: Daniel P. Berrange <berrange@redhat.com> Date: Thu Sep 1 17:57:06 2011 +0100 Prevent crash from dlclose() of libvirt.so We forgot to copy this protection into the libvirt-qemu.so, libvirt-lxc.so and libvirt-admin.so libraries when we introduced them. Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
- 10 4月, 2018 1 次提交
-
-
由 Jim Fehlig 提交于
xend was deprecated in Xen 4.2 and removed from the Xen sources before the Xen 4.5 release. The last Xen release to contain xend was Xen 4.4, which was retired upstream in March 2017. Remove xend support from libvirt since it is unrealistic to use modern libvirt with ancient Xen. Signed-off-by: NJim Fehlig <jfehlig@suse.com> Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
-
- 15 3月, 2018 2 次提交
-
-
由 Michal Privoznik 提交于
The setuid-rpc-client.la is intended to be small and contain only bare minimum of source files. virarptable.c is not one of them. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: Chen Hanxiao<chenhanxiao@gmail.com> Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Chen Hanxiao 提交于
introduce helper to parse RTM_GETNEIGH query message and store it in struct virArpTable. Signed-off-by: NChen Hanxiao <chenhanxiao@gmail.com> Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 06 3月, 2018 4 次提交
-
-
由 Daniel P. Berrangé 提交于
Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-