[libvirt] [PATCH 0/8] Add optional pSeries features (HTM)
by Andrea Bolognani
Applies cleanly on top of 90d7262552e8de3b067239b215903144a285723d.
Patch 2/8 is fairly big because of all the capabilities data being
added: I'm sending a redacted version to the list, the rest of the
code can be grabbed from
https://github.com/andreabolognani/libvirt/tree/pseries-caps
Changes from [RFC v3]:
* can be considered for merging, since the QEMU part already has;
* fix compatibility issues with QEMU <2.12 spotted by Shivaprasad;
* drop all features except for HTM, at least for the time being;
* add documentation.
Changes from [RFC v2]:
* use qom-list-properties to probe availability;
* test all features with a single XML file.
Changes from [RFC v1]:
* don't nest features inside a <pseries/> element;
* implement all optional features.
[RFC v3] https://www.redhat.com/archives/libvir-list/2018-March/msg00042.html
[RFC v2] https://www.redhat.com/archives/libvir-list/2018-February/msg00310.html
[RFC v1] https://www.redhat.com/archives/libvir-list/2018-January/msg00779.html
Andrea Bolognani (8):
tests: Rename pseries-features-hpt test
tests: Add capabilities data for QEMU 2.12
qemu: Add capability for qom-list-properties
qemu: Rename virQEMUCapsObjectProps* -> virQEMUCapsDeviceProps*
qemu: Extract generic part from qemuMonitorJSONGetDeviceProps()
qemu: Add capability for the HTM pSeries feature
qemu: Implement the HTM pSeries feature
news: Update for the HTM pSeries feature
docs/formatdomain.html.in | 7 +
docs/news.xml | 9 +
docs/schemas/domaincommon.rng | 5 +
src/conf/domain_conf.c | 19 +
src/conf/domain_conf.h | 1 +
src/qemu/qemu_capabilities.c | 281 +-
src/qemu/qemu_capabilities.h | 2 +
src/qemu/qemu_command.c | 149 +
src/qemu/qemu_domain.c | 13 +
src/qemu/qemu_monitor.c | 13 +
src/qemu/qemu_monitor.h | 3 +
src/qemu/qemu_monitor_json.c | 40 +-
src/qemu/qemu_monitor_json.h | 5 +
.../caps_2.12.0-gicv2.aarch64.replies | 17153 +++++++++++++++
.../caps_2.12.0-gicv2.aarch64.xml | 319 +
.../caps_2.12.0-gicv3.aarch64.replies | 17153 +++++++++++++++
.../caps_2.12.0-gicv3.aarch64.xml | 319 +
.../qemucapabilitiesdata/caps_2.12.0.ppc64.replies | 21247 +++++++++++++++++++
tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml | 1095 +
.../caps_2.12.0.x86_64.replies | 19121 +++++++++++++++++
tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml | 1271 ++
tests/qemucapabilitiestest.c | 4 +
.../pseries-features-invalid-machine.xml | 1 +
...ies-features-hpt.args => pseries-features.args} | 2 +-
...eries-features-hpt.xml => pseries-features.xml} | 1 +
tests/qemuxml2argvtest.c | 5 +-
tests/qemuxml2xmloutdata/pseries-features-hpt.xml | 1 -
tests/qemuxml2xmloutdata/pseries-features.xml | 1 +
tests/qemuxml2xmltest.c | 3 +-
29 files changed, 78113 insertions(+), 130 deletions(-)
create mode 100644 tests/qemucapabilitiesdata/caps_2.12.0-gicv2.aarch64.replies
create mode 100644 tests/qemucapabilitiesdata/caps_2.12.0-gicv2.aarch64.xml
create mode 100644 tests/qemucapabilitiesdata/caps_2.12.0-gicv3.aarch64.replies
create mode 100644 tests/qemucapabilitiesdata/caps_2.12.0-gicv3.aarch64.xml
create mode 100644 tests/qemucapabilitiesdata/caps_2.12.0.ppc64.replies
create mode 100644 tests/qemucapabilitiesdata/caps_2.12.0.ppc64.xml
create mode 100644 tests/qemucapabilitiesdata/caps_2.12.0.x86_64.replies
create mode 100644 tests/qemucapabilitiesdata/caps_2.12.0.x86_64.xml
rename tests/qemuxml2argvdata/{pseries-features-hpt.args => pseries-features.args} (87%)
rename tests/qemuxml2argvdata/{pseries-features-hpt.xml => pseries-features.xml} (97%)
delete mode 120000 tests/qemuxml2xmloutdata/pseries-features-hpt.xml
create mode 120000 tests/qemuxml2xmloutdata/pseries-features.xml
--
2.14.3
6 years, 9 months
[libvirt] [PATCH] rpm: fix incorrect expansion of %systemd_preun macro
by Daniel P. Berrangé
Macros in RPMs are expanded before line continuations, so when we write
%systemd_preun foo \
bar
What happens is that it expands to
if [ $1 -eq 0 ] ; then
# Package removal, not upgrade
systemctl --no-reload disable --now foo \ > /dev/null 2>&1 || :
fi
bar
which is obviously complete garbage and not what we expected. It is
simply not safe to ever use line continuations in combination with
macros.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
libvirt.spec.in | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/libvirt.spec.in b/libvirt.spec.in
index bc8257f34b..6bf8368476 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -1512,9 +1512,9 @@ exit 0
%if %{with_systemd}
%if %{with_systemd_macros}
- %systemd_post virtlockd.socket virtlockd-admin.socket \
- virtlogd.socket virtlogd-admin.socket \
- libvirtd.service
+ %systemd_post virtlockd.socket virtlockd-admin.socket
+ %systemd_post virtlogd.socket virtlogd-admin.socket
+ %systemd_post libvirtd.service
%else
if [ $1 -eq 1 ] ; then
# Initial installation
@@ -1549,9 +1549,9 @@ touch %{_localstatedir}/lib/rpm-state/libvirt/restart || :
%preun daemon
%if %{with_systemd}
%if %{with_systemd_macros}
- %systemd_preun libvirtd.service \
- virtlogd.socket virtlogd-admin.socket virtlogd.service \
- virtlockd.socket virtlockd-admin.socket virtlockd.service
+ %systemd_preun libvirtd.service
+ %systemd_preun virtlogd.socket virtlogd-admin.socket virtlogd.service
+ %systemd_preun virtlockd.socket virtlockd-admin.socket virtlockd.service
%else
if [ $1 -eq 0 ] ; then
# Package removal, not upgrade
--
2.14.3
6 years, 9 months
[libvirt] Libvirt-4.1.0 build fails at the 'make install' linking stage with 4.0.0 installed
by Predrag Ivanović
Hi.
When I try to build Libvirt-4.1.0 on a system that has 4.0.0 installed, the build fails at the 'make install' linking stage with the
error below.
Same thing happened with git master I tried (commit 43523d7421, haven't tried with the latest one yet) and rebuilding 4.0.0 works fine.
4.1.0 builds on a system without 4.0.0, though, with no changes to configure switches or anything else.
Is something broken on my system and/or the way I built 4.0.0 , so 4.1.0 picks up on that?
'make check' passes without errors for both.
qemu-2.11.1
-------
ibtool: warning: relinking 'libvirt_driver_qemu.la'
libtool: install: (cd /usr/pkgmk/build/libvirt/src/libvirt-4.1.0/src; /bin/sh "/usr/pkgmk/build/libvirt/src/libvirt-4.1.0/libtool" --silent --tag CC --mode=relink gcc -I/usr/include/libxml2 -fno-common -W -Waddress -Waggressive-loop-optimizations -Wall -Wattributes -Wbad-function-cast -Wbool-compare -Wbuiltin-macro-redefined -Wcast-align -Wchar-subscripts -Wchkp -Wclobbered -Wcomment -Wcomments -Wcoverage-mismatch -Wcpp -Wdate-time -Wdeprecated-declarations -Wdesignated-init -Wdiscarded-array-qualifiers -Wdiscarded-qualifiers -Wdiv-by-zero -Wdouble-promotion -Wduplicated-cond -Wempty-body -Wendif-labels -Wextra -Wformat-contains-nul -Wformat-extra-args -Wformat-security -Wformat-y2k -Wformat-zero-length -Wframe-address -Wfree-nonheap-object -Whsa -Wignored-attributes -Wignored-qualifiers -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Wincompatible-pointer-types -Winit-self -Winline -Wint-conversion -Wint-to-pointer-cast -Winvalid-memory-model -Winvalid-pch -Wjump-misses-
init -Wlogical-not-parentheses -Wlogical-op -Wmain -Wmaybe-uninitialized -Wmemset-transposed-args -Wmisleading-indentation -Wmissing-braces -Wmissing-declarations -Wmissing-field-initializers -Wmissing-include-dirs -Wmissing-parameter-type -Wmissing-prototypes -Wmultichar -Wnarrowing -Wnested-externs -Wnonnull -Wnonnull-compare -Wnull-dereference -Wodr -Wold-style-declaration -Wold-style-definition -Wopenmp-simd -Woverflow -Woverride-init -Wpacked-bitfield-compat -Wparentheses -Wpointer-arith -Wpointer-sign -Wpointer-to-int-cast -Wpragmas -Wpsabi -Wreturn-local-addr -Wreturn-type -Wscalar-storage-order -Wsequence-point -Wshadow -Wshift-count-negative -Wshift-count-overflow -Wshift-negative-value -Wsizeof-array-argument -Wsizeof-pointer-memaccess -Wstrict-aliasing -Wstrict-prototypes -Wsuggest-attribute=const -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wsuggest-final-methods -Wsuggest-final-types -Wswitch -Wswitch-bool -Wsync-nand -Wtautological-
compare -Wtrampolines -Wtrigraphs -Wtype-limits -Wuninitialized -Wunknown-pragmas -Wunused -Wunused-but-set-parameter -Wunused-but-set-variable -Wunused-function -Wunused-label -Wunused-local-typedefs -Wunused-parameter -Wunused-result -Wunused-value -Wunused-variable -Wvarargs -Wvariadic-macros -Wvector-operation-performance -Wvolatile-register-var -Wwrite-strings -Warray-bounds=2 -Wnormalized=nfc -Wshift-overflow=2 -Wunused-const-variable=2 -Wno-sign-compare -Wjump-misses-init -Wswitch-enum -Wno-format-nonliteral -fstack-protector-strong -fexceptions -fasynchronous-unwind-tables -fipa-pure-const -Wno-suggest-attribute=pure -Wno-suggest-attribute=const -Wframe-larger-than=4096 -O2 -march=x86-64 -pipe -DLIBXL_API_VERSION=0x040400 -module -avoid-version -export-dynamic -Wl,-z -Wl,relro -Wl,-z -Wl,now -Wl,--no-copy-dt-needed-entries -Wl,-z -Wl,defs -lX11 -o libvirt_driver_qemu.la -rpath /usr/lib/libvirt/connection-driver libvirt_driver_qemu_impl.la libvirt.la ../gnulib/lib/libgnu.la -
ldl -inst-prefix-dir /usr/pkgmk/build/libvirt/pkg)
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_process.o): In function `qemuProcessGetVolumeQcowPassphrase':
qemu_process.c:(.text+0x1e98): undefined reference to `virGetConnectSecret'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_process.o): In function `qemuProcessSetupVcpu':
qemu_process.c:(.text+0x4a65): undefined reference to `virResctrlAllocAddPID'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_process.o): In function `qemuProcessPrepareDomain':
qemu_process.c:(.text+0x4d32): undefined reference to `virGetConnectNetwork'
qemu_process.c:(.text+0x52d7): undefined reference to `virDomainDiskTranslateSourcePool'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_process.o): In function `qemuProcessPrepareHost':
qemu_process.c:(.text+0x5bd5): undefined reference to `virDomainNetAllocateActualDevice'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_process.o): In function `qemuProcessLaunch':
qemu_process.c:(.text+0x7ab1): undefined reference to `virResctrlAllocCreate'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_process.o): In function `qemuProcessStop':
qemu_process.c:(.text+0x8ce3): undefined reference to `virDomainNetReleaseActualDevice'
qemu_process.c:(.text+0x8dd4): undefined reference to `virResctrlAllocRemove'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_process.o): In function `qemuProcessReconnect':
qemu_process.c:(.text+0xa9a8): undefined reference to `virDomainDiskTranslateSourcePool'
qemu_process.c:(.text+0xadbb): undefined reference to `virDomainNetNotifyActualDevice'
qemu_process.c:(.text+0xb6ec): undefined reference to `virResctrlAllocDeterminePath'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_driver.o): In function `qemuStateCleanup':
qemu_driver.c:(.text+0x476): undefined reference to `virPortAllocatorRangeFree'
qemu_driver.c:(.text+0x489): undefined reference to `virPortAllocatorRangeFree'
qemu_driver.c:(.text+0x49c): undefined reference to `virPortAllocatorRangeFree'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_driver.o): In function `qemuStateInitialize':
qemu_driver.c:(.text+0x187e): undefined reference to `virPortAllocatorRangeNew'
qemu_driver.c:(.text+0x18af): undefined reference to `virPortAllocatorRangeNew'
qemu_driver.c:(.text+0x18e0): undefined reference to `virPortAllocatorRangeNew'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_driver.o): In function `qemuDomainSnapshotUpdateDiskSources':
qemu_driver.c:(.text+0x4174): undefined reference to `virStorageFileDeinit'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_driver.o): In function `qemuDomainSnapshotDiskDataFree':
qemu_driver.c:(.text+0x912e): undefined reference to `virStorageFileDeinit'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_driver.o): In function `qemuDomainBlockCopyCommon':
qemu_driver.c:(.text+0x937a): undefined reference to `virStorageFileDeinit'
qemu_driver.c:(.text+0x956c): undefined reference to `virStorageFileAccess'
qemu_driver.c:(.text+0x958c): undefined reference to `virStorageFileStat'
qemu_driver.c:(.text+0x96bb): undefined reference to `virStorageFileDeinit'
qemu_driver.c:(.text+0x97ce): undefined reference to `virStorageFileDeinit'
qemu_driver.c:(.text+0x97fb): undefined reference to `virStorageFileUnlink'
qemu_driver.c:(.text+0x984f): undefined reference to `virStorageFileDeinit'
qemu_driver.c:(.text+0x98a1): undefined reference to `virStorageFileUnlink'
qemu_driver.c:(.text+0x98b7): undefined reference to `virStorageFileCreate'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_driver.o): In function `qemuDomainBlockPeek':
qemu_driver.c:(.text+0x10823): undefined reference to `virStorageFileDeinit'
qemu_driver.c:(.text+0x108a7): undefined reference to `virStorageFileRead'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_driver.o): In function `qemuDomainSetInterfaceParameters':
qemu_driver.c:(.text+0x1156a): undefined reference to `virDomainNetBandwidthChangeAllowed'
qemu_driver.c:(.text+0x115b3): undefined reference to `virDomainNetBandwidthUpdate'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_driver.o): In function `qemuSecurityChownCallback':
qemu_driver.c:(.text+0x1c97c): undefined reference to `virStorageFileSupportsSecurityDriver'
qemu_driver.c:(.text+0x1ca09): undefined reference to `virStorageFileDeinit'
qemu_driver.c:(.text+0x1ca50): undefined reference to `virStorageFileInit'
qemu_driver.c:(.text+0x1ca62): undefined reference to `virStorageFileChown'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_driver.o): In function `qemuDomainStorageOpenStat.isra.15':
qemu_driver.c:(.text+0x1d19b): undefined reference to `virStorageFileInitAs'
qemu_driver.c:(.text+0x1d1ac): undefined reference to `virStorageFileStat'
qemu_driver.c:(.text+0x1d1b8): undefined reference to `virStorageFileDeinit'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_driver.o): In function `qemuStorageLimitsRefresh':
qemu_driver.c:(.text+0x1d2f6): undefined reference to `virStorageFileRead'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_driver.o): In function `qemuDomainUpdateDeviceFlags':
qemu_driver.c:(.text+0x24e17): undefined reference to `virDomainDiskTranslateSourcePool'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_driver.o): In function `qemuDomainAttachDeviceFlags':
qemu_driver.c:(.text+0x25a67): undefined reference to `virDomainDiskTranslateSourcePool'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_driver.o): In function `qemuDomainSnapshotCreateXML':
qemu_driver.c:(.text+0x28f91): undefined reference to `virDomainDiskTranslateSourcePool'
qemu_driver.c:(.text+0x2901b): undefined reference to `virStorageFileInit'
qemu_driver.c:(.text+0x29031): undefined reference to `virStorageFileStat'
qemu_driver.c:(.text+0x2906b): undefined reference to `virStorageFileDeinit'
qemu_driver.c:(.text+0x2943d): undefined reference to `virStorageFileGetBackingStoreStr'
qemu_driver.c:(.text+0x2976f): undefined reference to `virDomainDiskTranslateSourcePool'
qemu_driver.c:(.text+0x29af7): undefined reference to `virStorageFileDeinit'
qemu_driver.c:(.text+0x29b9c): undefined reference to `virStorageFileDeinit'
qemu_driver.c:(.text+0x29db4): undefined reference to `virStorageFileCreate'
qemu_driver.c:(.text+0x2a179): undefined reference to `virStorageFileUnlink'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_driver.o): In function `qemuDomainStorageCloseStat':
qemu_driver.c:(.text+0x244f): undefined reference to `virStorageFileDeinit'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_alias.o): In function `qemuAssignDeviceNetAlias':
qemu_alias.c:(.text+0x6f8): undefined reference to `virDomainNetResolveActualType'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_domain.o): In function `qemuDomainSecretInfoNew':
qemu_domain.c:(.text+0x471f): undefined reference to `virGetConnectSecret'
qemu_domain.c:(.text+0x48e1): undefined reference to `virGetConnectSecret'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_domain.o): In function `qemuDomainStorageFileInit':
qemu_domain.c:(.text+0x89ff): undefined reference to `virStorageFileInitAs'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_domain.o): In function `qemuDomainDetermineDiskChain':
qemu_domain.c:(.text+0x8ba2): undefined reference to `virStorageFileReportBrokenChain'
qemu_domain.c:(.text+0x8bb4): undefined reference to `virStorageFileSupportsAccess'
qemu_domain.c:(.text+0x8bd8): undefined reference to `virStorageFileAccess'
qemu_domain.c:(.text+0x8be8): undefined reference to `virStorageFileDeinit'
qemu_domain.c:(.text+0x8c9f): undefined reference to `virStorageFileGetMetadata'
qemu_domain.c:(.text+0x8d14): undefined reference to `virStorageFileReportBrokenChain'
qemu_domain.c:(.text+0x8d1c): undefined reference to `virStorageFileDeinit'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_domain.o): In function `qemuDomainDefValidate':
qemu_domain.c:(.text+0xb35d): undefined reference to `virDomainFeatureTypeToString'
qemu_domain.c:(.text+0xb379): undefined reference to `virDomainFeatureTypeToString'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_domain_address.o): In function `qemuDomainFindSCSIControllerModel':
qemu_domain_address.c:(.text+0x2505): undefined reference to `virDomainDeviceFindSCSIController'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_domain_address.o): In function `qemuDomainFillDeviceIsolationGroup':
qemu_domain_address.c:(.text+0x2621): undefined reference to `virDomainNetResolveActualType'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_hotplug.o): In function `qemuDomainRemoveHostDevice':
qemu_hotplug.c:(.text+0xa41): undefined reference to `virDomainNetReleaseActualDevice'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_hotplug.o): In function `qemuDomainRemoveNetDevice':
qemu_hotplug.c:(.text+0x191e): undefined reference to `virDomainNetReleaseActualDevice'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_hotplug.o): In function `qemuDomainAttachDeviceDiskLive':
qemu_hotplug.c:(.text+0x3b4e): undefined reference to `virDomainDiskTranslateSourcePool'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_hotplug.o): In function `qemuDomainAttachNetDevice':
qemu_hotplug.c:(.text+0x7093): undefined reference to `virDomainNetAllocateActualDevice'
qemu_hotplug.c:(.text+0x716c): undefined reference to `virDomainNetReleaseActualDevice'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_hotplug.o): In function `qemuDomainChangeNet':
qemu_hotplug.c:(.text+0x93da): undefined reference to `virDomainNetReleaseActualDevice'
qemu_hotplug.c:(.text+0x9549): undefined reference to `virDomainNetAllocateActualDevice'
qemu_hotplug.c:(.text+0x977c): undefined reference to `virDomainNetReleaseActualDevice'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_hotplug.o): In function `qemuDomainDetachChrDevice':
qemu_hotplug.c:(.text+0xbb12): undefined reference to `virDomainChrDeviceTypeToString'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_hotplug.o): In function `qemuDomainDetachMemoryDevice':
qemu_hotplug.c:(.text+0xbdd6): undefined reference to `virDomainMemoryModelTypeToString'
./.libs/libvirt_driver_qemu_impl.a(libvirt_driver_qemu_impl_la-qemu_migration.o): In function `qemuMigrationDstPrepareAny':
qemu_migration.c:(.text+0x6ce1): undefined reference to `virGetConnectStorage'
qemu_migration.c:(.text+0x6fc5): undefined reference to `virStoragePoolLookupByTargetPath'
collect2: error: ld returned 1 exit status
libtool: error: error: relink 'libvirt_driver_qemu.la' with the above command before installing it
make[3]: *** [Makefile:6292: install-modLTLIBRARIES] Error 1
make[3]: Leaving directory '/usr/pkgmk/build/libvirt/src/libvirt-4.1.0/src'
make[2]: *** [Makefile:12096: install-am] Error 2
make[2]: Leaving directory '/usr/pkgmk/build/libvirt/src/libvirt-4.1.0/src'
make[1]: *** [Makefile:12090: install] Error 2
make[1]: Leaving directory '/usr/pkgmk/build/libvirt/src/libvirt-4.1.0/src'
make: *** [Makefile:2127: install-recursive] Error 1
=======> ERROR: Building '/usr/pkgmk/package/libvirt#4.1.0-1.pkg.tar.gz' failed.
------
Pedja
6 years, 9 months
[libvirt] [PATCH] libvirt: Fix comments for two public APIs.
by Han Han
Fix comments for virConnectListAllNodeDevices and
virConnectListAllSecrets.
Signed-off-by: Han Han <hhan(a)redhat.com>
---
src/libvirt-nodedev.c | 2 +-
src/libvirt-secret.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/libvirt-nodedev.c b/src/libvirt-nodedev.c
index 493b21f56..563ce889b 100644
--- a/src/libvirt-nodedev.c
+++ b/src/libvirt-nodedev.c
@@ -72,7 +72,7 @@ virNodeNumOfDevices(virConnectPtr conn, const char *cap, unsigned int flags)
* @devices: Pointer to a variable to store the array containing the node
* device objects or NULL if the list is not required (just returns
* number of node devices).
- * @flags: bitwise-OR of virConnectListAllNodeDevices.
+ * @flags: bitwise-OR of virConnectListAllNodeDeviceFlags.
*
* Collect the list of node devices, and allocate an array to store those
* objects.
diff --git a/src/libvirt-secret.c b/src/libvirt-secret.c
index 447d93f33..1e1cd4e65 100644
--- a/src/libvirt-secret.c
+++ b/src/libvirt-secret.c
@@ -90,7 +90,7 @@ virConnectNumOfSecrets(virConnectPtr conn)
* @secrets: Pointer to a variable to store the array containing the secret
* objects or NULL if the list is not required (just returns the
* number of secrets).
- * @flags: extra flags; not used yet, so callers should always pass 0
+ * @flags: bitwise-OR of virConnectListAllSecretsFlags.
*
* Collect the list of secrets, and allocate an array to store those
* objects.
--
2.16.2
6 years, 9 months
[libvirt] [PATCH 0/3] libxl: finish use of {Begin, End}API pattern in APIs
by Jim Fehlig
This is a follow-up to John and I's recent work to improve locking and
ref counting of virDomainObj in the libxl driver. These patches change
the remaining APIs to use the begin and end API pattern used throughout
libxl and other drivers.
Jim Fehlig (3):
libxl: lock virDomainObj after ListRemove
libxl: call EndJob in error case
libxl: convert DefineXMLFlags to use begin/end API pattern
src/libxl/libxl_driver.c | 29 ++++++++++++++++-------------
src/libxl/libxl_migration.c | 7 +++++--
2 files changed, 21 insertions(+), 15 deletions(-)
--
2.16.2
6 years, 9 months
[libvirt] [PATCH 0/4] Apparmor support for less common devices
by Christian Ehrhardt
So far users added manual rules for most of these uncommon devices,
but recent changes made some of the callbacks mandatory for hotplug
so we should take shot at implementing them as those callbacks as well
as for the initial start of a guest via virt-aa-helper.
Christian Ehrhardt (4):
security, apparmor: add (Set|Restore)MemoryLabel
security, apparmor: add (Set|Restore)InputLabel
virt-aa-helper: generate rules for passthrough input devices
virt-aa-helper: generate rules for nvdimm memory
src/security/security_apparmor.c | 101 +++++++++++++++++++++++++++++++++++++++
src/security/virt-aa-helper.c | 14 ++++++
2 files changed, 115 insertions(+)
--
2.7.4
6 years, 9 months
[libvirt] [dbus PATCH v2 0/3] rewrite to GDBus
by Pavel Hrdina
Changes in v2:
- removed patch that set the required libvirt version to
libvirt-dbus version
Pavel Hrdina (3):
introduce support for GDBus implementation
switch from sd-bus to GDBus implementation
main: introduce thread pool to process D-Bus messages
README | 2 +-
configure.ac | 15 +-
data/Makefile.am | 7 +
data/org.libvirt.Connect.xml | 56 ++++
data/org.libvirt.Domain.xml | 51 +++
libvirt-dbus.spec.in | 10 +-
src/Makefile.am | 20 +-
src/connect.c | 320 ++++++++----------
src/connect.h | 36 +--
src/domain.c | 749 ++++++++++++++++++++-----------------------
src/domain.h | 7 +-
src/events.c | 177 +++++-----
src/gdbus.c | 456 ++++++++++++++++++++++++++
src/gdbus.h | 111 +++++++
src/main.c | 308 +++++++-----------
src/util.c | 170 +++++-----
src/util.h | 53 ++-
test/Makefile.am | 3 +-
test/travis-run | 2 +-
19 files changed, 1501 insertions(+), 1052 deletions(-)
create mode 100644 data/org.libvirt.Connect.xml
create mode 100644 data/org.libvirt.Domain.xml
create mode 100644 src/gdbus.c
create mode 100644 src/gdbus.h
--
2.14.3
6 years, 9 months
[libvirt] [PATCH] libxl: rename migration APIs to include Src or Dst in their name
by Jim Fehlig
Inspired by commit ffb7954f to improve readability of the libxl
migration APIs.
Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
---
Suggested by jferlan while reviewing other patches touch the libxl
migration code
https://www.redhat.com/archives/libvir-list/2018-March/msg00769.html
src/libxl/libxl_driver.c | 28 +++----
src/libxl/libxl_migration.c | 179 ++++++++++++++++++++++----------------------
src/libxl/libxl_migration.h | 80 ++++++++++----------
3 files changed, 144 insertions(+), 143 deletions(-)
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index 89432d03c..52eeb18f9 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -5894,8 +5894,8 @@ libxlDomainMigrateBegin3Params(virDomainPtr domain,
goto cleanup;
}
- xmlout = libxlDomainMigrationBegin(domain->conn, vm, xmlin,
- cookieout, cookieoutlen);
+ xmlout = libxlDomainMigrationSrcBegin(domain->conn, vm, xmlin,
+ cookieout, cookieoutlen);
cleanup:
virDomainObjEndAPI(&vm);
@@ -5940,14 +5940,14 @@ libxlDomainMigratePrepareTunnel3Params(virConnectPtr dconn,
goto error;
- if (!(def = libxlDomainMigrationPrepareDef(driver, dom_xml, dname)))
+ if (!(def = libxlDomainMigrationDstPrepareDef(driver, dom_xml, dname)))
goto error;
if (virDomainMigratePrepareTunnel3ParamsEnsureACL(dconn, def) < 0)
goto error;
- if (libxlDomainMigrationPrepareTunnel3(dconn, st, &def, cookiein,
- cookieinlen, flags) < 0)
+ if (libxlDomainMigrationDstPrepareTunnel3(dconn, st, &def, cookiein,
+ cookieinlen, flags) < 0)
goto error;
return 0;
@@ -5995,14 +5995,14 @@ libxlDomainMigratePrepare3Params(virConnectPtr dconn,
goto error;
- if (!(def = libxlDomainMigrationPrepareDef(driver, dom_xml, dname)))
+ if (!(def = libxlDomainMigrationDstPrepareDef(driver, dom_xml, dname)))
goto error;
if (virDomainMigratePrepare3ParamsEnsureACL(dconn, def) < 0)
goto error;
- if (libxlDomainMigrationPrepare(dconn, &def, uri_in, uri_out,
- cookiein, cookieinlen, flags) < 0)
+ if (libxlDomainMigrationDstPrepare(dconn, &def, uri_in, uri_out,
+ cookiein, cookieinlen, flags) < 0)
goto error;
return 0;
@@ -6058,12 +6058,12 @@ libxlDomainMigratePerform3Params(virDomainPtr dom,
goto cleanup;
if ((flags & (VIR_MIGRATE_TUNNELLED | VIR_MIGRATE_PEER2PEER))) {
- if (libxlDomainMigrationPerformP2P(driver, vm, dom->conn, dom_xml,
- dconnuri, uri, dname, flags) < 0)
+ if (libxlDomainMigrationSrcPerformP2P(driver, vm, dom->conn, dom_xml,
+ dconnuri, uri, dname, flags) < 0)
goto cleanup;
} else {
- if (libxlDomainMigrationPerform(driver, vm, dom_xml, dconnuri,
- uri, dname, flags) < 0)
+ if (libxlDomainMigrationSrcPerform(driver, vm, dom_xml, dconnuri,
+ uri, dname, flags) < 0)
goto cleanup;
}
@@ -6124,7 +6124,7 @@ libxlDomainMigrateFinish3Params(virConnectPtr dconn,
return NULL;
}
- ret = libxlDomainMigrationFinish(dconn, vm, flags, cancelled);
+ ret = libxlDomainMigrationDstFinish(dconn, vm, flags, cancelled);
libxlDomainObjEndJob(driver, vm);
@@ -6161,7 +6161,7 @@ libxlDomainMigrateConfirm3Params(virDomainPtr domain,
if (virDomainMigrateConfirm3ParamsEnsureACL(domain->conn, vm->def) < 0)
goto cleanup;
- ret = libxlDomainMigrationConfirm(driver, vm, flags, cancelled);
+ ret = libxlDomainMigrationSrcConfirm(driver, vm, flags, cancelled);
cleanup:
virDomainObjEndAPI(&vm);
diff --git a/src/libxl/libxl_migration.c b/src/libxl/libxl_migration.c
index 7dc39ae02..bfe359f59 100644
--- a/src/libxl/libxl_migration.c
+++ b/src/libxl/libxl_migration.c
@@ -256,7 +256,7 @@ libxlMigrationDstArgsOnceInit(void)
VIR_ONCE_GLOBAL_INIT(libxlMigrationDstArgs)
static void
-libxlDoMigrateReceive(void *opaque)
+libxlDoMigrateDstReceive(void *opaque)
{
libxlMigrationDstArgs *args = opaque;
virDomainObjPtr vm = args->vm;
@@ -306,9 +306,9 @@ libxlDoMigrateReceive(void *opaque)
static void
-libxlMigrateReceive(virNetSocketPtr sock,
- int events ATTRIBUTE_UNUSED,
- void *opaque)
+libxlMigrateDstReceive(virNetSocketPtr sock,
+ int events ATTRIBUTE_UNUSED,
+ void *opaque)
{
libxlMigrationDstArgs *args = opaque;
virNetSocketPtr *socks = args->socks;
@@ -335,7 +335,7 @@ libxlMigrateReceive(virNetSocketPtr sock,
*/
args->recvfd = recvfd;
if (virThreadCreate(&thread, false,
- libxlDoMigrateReceive, args) < 0) {
+ libxlDoMigrateDstReceive, args) < 0) {
virReportError(VIR_ERR_OPERATION_FAILED, "%s",
_("Failed to create thread for receiving migration data"));
goto fail;
@@ -357,10 +357,10 @@ libxlMigrateReceive(virNetSocketPtr sock,
}
static int
-libxlDoMigrateSend(libxlDriverPrivatePtr driver,
- virDomainObjPtr vm,
- unsigned long flags,
- int sockfd)
+libxlDoMigrateSrcSend(libxlDriverPrivatePtr driver,
+ virDomainObjPtr vm,
+ unsigned long flags,
+ int sockfd)
{
libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver);
int xl_flags = 0;
@@ -395,11 +395,11 @@ libxlDomainMigrationIsAllowed(virDomainDefPtr def)
}
char *
-libxlDomainMigrationBegin(virConnectPtr conn,
- virDomainObjPtr vm,
- const char *xmlin,
- char **cookieout,
- int *cookieoutlen)
+libxlDomainMigrationSrcBegin(virConnectPtr conn,
+ virDomainObjPtr vm,
+ const char *xmlin,
+ char **cookieout,
+ int *cookieoutlen)
{
libxlDriverPrivatePtr driver = conn->privateData;
libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver);
@@ -449,9 +449,9 @@ libxlDomainMigrationBegin(virConnectPtr conn,
}
virDomainDefPtr
-libxlDomainMigrationPrepareDef(libxlDriverPrivatePtr driver,
- const char *dom_xml,
- const char *dname)
+libxlDomainMigrationDstPrepareDef(libxlDriverPrivatePtr driver,
+ const char *dom_xml,
+ const char *dname)
{
libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver);
virDomainDefPtr def;
@@ -554,12 +554,12 @@ libxlDomainMigrationPrepareAny(virConnectPtr dconn,
}
int
-libxlDomainMigrationPrepareTunnel3(virConnectPtr dconn,
- virStreamPtr st,
- virDomainDefPtr *def,
- const char *cookiein,
- int cookieinlen,
- unsigned int flags)
+libxlDomainMigrationDstPrepareTunnel3(virConnectPtr dconn,
+ virStreamPtr st,
+ virDomainDefPtr *def,
+ const char *cookiein,
+ int cookieinlen,
+ unsigned int flags)
{
libxlMigrationCookiePtr mig = NULL;
libxlDriverPrivatePtr driver = dconn->privateData;
@@ -619,7 +619,7 @@ libxlDomainMigrationPrepareTunnel3(virConnectPtr dconn,
args->nsocks = 0;
mig = NULL;
- if (virThreadCreate(&thread, false, libxlDoMigrateReceive, args) < 0) {
+ if (virThreadCreate(&thread, false, libxlDoMigrateDstReceive, args) < 0) {
virReportError(VIR_ERR_OPERATION_FAILED, "%s",
_("Failed to create thread for receiving migration data"));
goto error;
@@ -645,13 +645,13 @@ libxlDomainMigrationPrepareTunnel3(virConnectPtr dconn,
}
int
-libxlDomainMigrationPrepare(virConnectPtr dconn,
- virDomainDefPtr *def,
- const char *uri_in,
- char **uri_out,
- const char *cookiein,
- int cookieinlen,
- unsigned int flags)
+libxlDomainMigrationDstPrepare(virConnectPtr dconn,
+ virDomainDefPtr *def,
+ const char *uri_in,
+ char **uri_out,
+ const char *cookiein,
+ int cookieinlen,
+ unsigned int flags)
{
libxlDriverPrivatePtr driver = dconn->privateData;
libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver);
@@ -783,7 +783,7 @@ libxlDomainMigrationPrepare(virConnectPtr dconn,
if (virNetSocketAddIOCallback(socks[i],
VIR_EVENT_HANDLE_READABLE,
- libxlMigrateReceive,
+ libxlMigrateDstReceive,
args,
NULL) < 0)
continue;
@@ -834,10 +834,10 @@ struct _libxlTunnelMigrationThread {
/*
* The data flow of tunnel3 migration in the src side:
- * libxlDoMigrateSend() -> pipe
- * libxlTunnel3MigrationFunc() polls pipe out and then write to dest stream.
+ * libxlDoMigrateSrcSend() -> pipe
+ * libxlTunnel3MigrationSrcFunc() polls pipe out and then write to dest stream.
*/
-static void libxlTunnel3MigrationFunc(void *arg)
+static void libxlTunnel3MigrationSrcFunc(void *arg)
{
libxlTunnelMigrationThread *data = (libxlTunnelMigrationThread *)arg;
char *buffer = NULL;
@@ -858,7 +858,7 @@ static void libxlTunnel3MigrationFunc(void *arg)
if (errno == EAGAIN || errno == EINTR)
continue;
virReportError(errno, "%s",
- _("poll failed in libxlTunnel3MigrationFunc"));
+ _("poll failed in libxlTunnel3MigrationSrcFunc"));
goto cleanup;
}
@@ -904,11 +904,11 @@ struct libxlTunnelControl {
};
static int
-libxlMigrationStartTunnel(libxlDriverPrivatePtr driver,
- virDomainObjPtr vm,
- unsigned long flags,
- virStreamPtr st,
- struct libxlTunnelControl **tnl)
+libxlMigrationSrcStartTunnel(libxlDriverPrivatePtr driver,
+ virDomainObjPtr vm,
+ unsigned long flags,
+ virStreamPtr st,
+ struct libxlTunnelControl **tnl)
{
struct libxlTunnelControl *tc = NULL;
libxlTunnelMigrationThread *arg = NULL;
@@ -931,7 +931,7 @@ libxlMigrationStartTunnel(libxlDriverPrivatePtr driver,
/* Write to dest stream */
arg->st = st;
if (virThreadCreate(&tc->thread, true,
- libxlTunnel3MigrationFunc, arg) < 0) {
+ libxlTunnel3MigrationSrcFunc, arg) < 0) {
virReportError(errno, "%s",
_("Unable to create tunnel migration thread"));
goto out;
@@ -939,16 +939,17 @@ libxlMigrationStartTunnel(libxlDriverPrivatePtr driver,
virObjectUnlock(vm);
/* Send data to pipe */
- ret = libxlDoMigrateSend(driver, vm, flags, tc->dataFD[1]);
+ ret = libxlDoMigrateSrcSend(driver, vm, flags, tc->dataFD[1]);
virObjectLock(vm);
out:
- /* libxlMigrationStopTunnel will be called in libxlDoMigrateP2P to free
- * all resources for us. */
+ /* libxlMigrationSrcStopTunnel will be called in libxlDoMigrateSrcP2P
+ * to free all resources for us.
+ */
return ret;
}
-static void libxlMigrationStopTunnel(struct libxlTunnelControl *tc)
+static void libxlMigrationSrcStopTunnel(struct libxlTunnelControl *tc)
{
if (!tc)
return;
@@ -966,15 +967,15 @@ static void libxlMigrationStopTunnel(struct libxlTunnelControl *tc)
* introduced in libxl.
*/
static int
-libxlDoMigrateP2P(libxlDriverPrivatePtr driver,
- virDomainObjPtr vm,
- virConnectPtr sconn,
- const char *xmlin,
- virConnectPtr dconn,
- const char *dconnuri ATTRIBUTE_UNUSED,
- const char *dname,
- const char *uri,
- unsigned int flags)
+libxlDoMigrateSrcP2P(libxlDriverPrivatePtr driver,
+ virDomainObjPtr vm,
+ virConnectPtr sconn,
+ const char *xmlin,
+ virConnectPtr dconn,
+ const char *dconnuri ATTRIBUTE_UNUSED,
+ const char *dname,
+ const char *uri,
+ unsigned int flags)
{
virDomainPtr ddomain = NULL;
virTypedParameterPtr params = NULL;
@@ -992,8 +993,8 @@ libxlDoMigrateP2P(libxlDriverPrivatePtr driver,
virStreamPtr st = NULL;
struct libxlTunnelControl *tc = NULL;
- dom_xml = libxlDomainMigrationBegin(sconn, vm, xmlin,
- &cookieout, &cookieoutlen);
+ dom_xml = libxlDomainMigrationSrcBegin(sconn, vm, xmlin,
+ &cookieout, &cookieoutlen);
if (!dom_xml)
goto cleanup;
@@ -1048,10 +1049,10 @@ libxlDoMigrateP2P(libxlDriverPrivatePtr driver,
VIR_DEBUG("Perform3 uri=%s", NULLSTR(uri_out));
if (flags & VIR_MIGRATE_TUNNELLED)
- ret = libxlMigrationStartTunnel(driver, vm, flags, st, &tc);
+ ret = libxlMigrationSrcStartTunnel(driver, vm, flags, st, &tc);
else
- ret = libxlDomainMigrationPerform(driver, vm, NULL, NULL,
- uri_out, NULL, flags);
+ ret = libxlDomainMigrationSrcPerform(driver, vm, NULL, NULL,
+ uri_out, NULL, flags);
if (ret < 0)
orig_err = virSaveLastError();
@@ -1082,7 +1083,7 @@ libxlDoMigrateP2P(libxlDriverPrivatePtr driver,
orig_err = virSaveLastError();
VIR_DEBUG("Confirm3 cancelled=%d vm=%p", cancelled, vm);
- ret = libxlDomainMigrationConfirm(driver, vm, flags, cancelled);
+ ret = libxlDomainMigrationSrcConfirm(driver, vm, flags, cancelled);
if (ret < 0)
VIR_WARN("Guest %s probably left in 'paused' state on source",
@@ -1090,7 +1091,7 @@ libxlDoMigrateP2P(libxlDriverPrivatePtr driver,
cleanup:
if (flags & VIR_MIGRATE_TUNNELLED) {
- libxlMigrationStopTunnel(tc);
+ libxlMigrationSrcStopTunnel(tc);
virObjectUnref(st);
}
@@ -1129,14 +1130,14 @@ static virConnectAuth virConnectAuthConfig = {
* the migration process with an established virConnectPtr to the destination.
*/
int
-libxlDomainMigrationPerformP2P(libxlDriverPrivatePtr driver,
- virDomainObjPtr vm,
- virConnectPtr sconn,
- const char *xmlin,
- const char *dconnuri,
- const char *uri_str ATTRIBUTE_UNUSED,
- const char *dname,
- unsigned int flags)
+libxlDomainMigrationSrcPerformP2P(libxlDriverPrivatePtr driver,
+ virDomainObjPtr vm,
+ virConnectPtr sconn,
+ const char *xmlin,
+ const char *dconnuri,
+ const char *uri_str ATTRIBUTE_UNUSED,
+ const char *dname,
+ unsigned int flags)
{
int ret = -1;
bool useParams;
@@ -1170,8 +1171,8 @@ libxlDomainMigrationPerformP2P(libxlDriverPrivatePtr driver,
goto cleanup;
}
- ret = libxlDoMigrateP2P(driver, vm, sconn, xmlin, dconn, dconnuri,
- dname, uri_str, flags);
+ ret = libxlDoMigrateSrcP2P(driver, vm, sconn, xmlin, dconn, dconnuri,
+ dname, uri_str, flags);
cleanup:
orig_err = virSaveLastError();
@@ -1187,13 +1188,13 @@ libxlDomainMigrationPerformP2P(libxlDriverPrivatePtr driver,
}
int
-libxlDomainMigrationPerform(libxlDriverPrivatePtr driver,
- virDomainObjPtr vm,
- const char *dom_xml ATTRIBUTE_UNUSED,
- const char *dconnuri ATTRIBUTE_UNUSED,
- const char *uri_str,
- const char *dname ATTRIBUTE_UNUSED,
- unsigned int flags)
+libxlDomainMigrationSrcPerform(libxlDriverPrivatePtr driver,
+ virDomainObjPtr vm,
+ const char *dom_xml ATTRIBUTE_UNUSED,
+ const char *dconnuri ATTRIBUTE_UNUSED,
+ const char *uri_str,
+ const char *dname ATTRIBUTE_UNUSED,
+ unsigned int flags)
{
libxlDomainObjPrivatePtr priv = vm->privateData;
char *hostname = NULL;
@@ -1233,7 +1234,7 @@ libxlDomainMigrationPerform(libxlDriverPrivatePtr driver,
/* suspend vm and send saved data to dst through socket fd */
virObjectUnlock(vm);
- ret = libxlDoMigrateSend(driver, vm, flags, sockfd);
+ ret = libxlDoMigrateSrcSend(driver, vm, flags, sockfd);
virObjectLock(vm);
if (ret < 0)
@@ -1249,10 +1250,10 @@ libxlDomainMigrationPerform(libxlDriverPrivatePtr driver,
}
virDomainPtr
-libxlDomainMigrationFinish(virConnectPtr dconn,
- virDomainObjPtr vm,
- unsigned int flags,
- int cancelled)
+libxlDomainMigrationDstFinish(virConnectPtr dconn,
+ virDomainObjPtr vm,
+ unsigned int flags,
+ int cancelled)
{
libxlDriverPrivatePtr driver = dconn->privateData;
libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver);
@@ -1347,10 +1348,10 @@ libxlDomainMigrationFinish(virConnectPtr dconn,
}
int
-libxlDomainMigrationConfirm(libxlDriverPrivatePtr driver,
- virDomainObjPtr vm,
- unsigned int flags,
- int cancelled)
+libxlDomainMigrationSrcConfirm(libxlDriverPrivatePtr driver,
+ virDomainObjPtr vm,
+ unsigned int flags,
+ int cancelled)
{
libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver);
libxlDomainObjPrivatePtr priv = vm->privateData;
@@ -1358,7 +1359,7 @@ libxlDomainMigrationConfirm(libxlDriverPrivatePtr driver,
int ret = -1;
if (cancelled) {
- /* Resume lock process that was paused in MigrationPerform */
+ /* Resume lock process that was paused in MigrationSrcPerform */
virDomainLockProcessResume(driver->lockManager,
"xen:///system",
vm,
diff --git a/src/libxl/libxl_migration.h b/src/libxl/libxl_migration.h
index 3bc2d0eae..42897426d 100644
--- a/src/libxl/libxl_migration.h
+++ b/src/libxl/libxl_migration.h
@@ -42,63 +42,63 @@
NULL
char *
-libxlDomainMigrationBegin(virConnectPtr conn,
- virDomainObjPtr vm,
- const char *xmlin,
- char **cookieout,
- int *cookieoutlen);
+libxlDomainMigrationSrcBegin(virConnectPtr conn,
+ virDomainObjPtr vm,
+ const char *xmlin,
+ char **cookieout,
+ int *cookieoutlen);
virDomainDefPtr
-libxlDomainMigrationPrepareDef(libxlDriverPrivatePtr driver,
- const char *dom_xml,
- const char *dname);
+libxlDomainMigrationDstPrepareDef(libxlDriverPrivatePtr driver,
+ const char *dom_xml,
+ const char *dname);
int
-libxlDomainMigrationPrepareTunnel3(virConnectPtr dconn,
- virStreamPtr st,
- virDomainDefPtr *def,
- const char *cookiein,
- int cookieinlen,
- unsigned int flags);
+libxlDomainMigrationDstPrepareTunnel3(virConnectPtr dconn,
+ virStreamPtr st,
+ virDomainDefPtr *def,
+ const char *cookiein,
+ int cookieinlen,
+ unsigned int flags);
int
-libxlDomainMigrationPrepare(virConnectPtr dconn,
- virDomainDefPtr *def,
- const char *uri_in,
- char **uri_out,
- const char *cookiein,
- int cookieinlen,
- unsigned int flags);
+libxlDomainMigrationDstPrepare(virConnectPtr dconn,
+ virDomainDefPtr *def,
+ const char *uri_in,
+ char **uri_out,
+ const char *cookiein,
+ int cookieinlen,
+ unsigned int flags);
int
-libxlDomainMigrationPerformP2P(libxlDriverPrivatePtr driver,
+libxlDomainMigrationSrcPerformP2P(libxlDriverPrivatePtr driver,
+ virDomainObjPtr vm,
+ virConnectPtr sconn,
+ const char *dom_xml,
+ const char *dconnuri,
+ const char *uri_str,
+ const char *dname,
+ unsigned int flags);
+
+int
+libxlDomainMigrationSrcPerform(libxlDriverPrivatePtr driver,
virDomainObjPtr vm,
- virConnectPtr sconn,
const char *dom_xml,
const char *dconnuri,
const char *uri_str,
const char *dname,
unsigned int flags);
-int
-libxlDomainMigrationPerform(libxlDriverPrivatePtr driver,
- virDomainObjPtr vm,
- const char *dom_xml,
- const char *dconnuri,
- const char *uri_str,
- const char *dname,
- unsigned int flags);
-
virDomainPtr
-libxlDomainMigrationFinish(virConnectPtr dconn,
- virDomainObjPtr vm,
- unsigned int flags,
- int cancelled);
+libxlDomainMigrationDstFinish(virConnectPtr dconn,
+ virDomainObjPtr vm,
+ unsigned int flags,
+ int cancelled);
int
-libxlDomainMigrationConfirm(libxlDriverPrivatePtr driver,
- virDomainObjPtr vm,
- unsigned int flags,
- int cancelled);
+libxlDomainMigrationSrcConfirm(libxlDriverPrivatePtr driver,
+ virDomainObjPtr vm,
+ unsigned int flags,
+ int cancelled);
#endif /* LIBXL_DRIVER_H */
--
2.16.2
6 years, 9 months
[libvirt] [jenkins-ci PATCH 0/3] guests: Configure ccache
by Andrea Bolognani
See patch 3/3 for the rationale.
Andrea Bolognani (3):
guests: Rename 'ci' flavor to 'jenkins'
guests: Factor out user creation
guests: Configure ccache
guests/README.markdown | 9 +++++----
guests/files/ccache.conf | 1 +
guests/lcitool | 12 ++++++------
guests/site.yml | 8 ++------
guests/tasks/jenkins.yml | 6 ------
guests/tasks/test.yml | 21 ---------------------
guests/tasks/user.yml | 42 ++++++++++++++++++++++++++++++++++++++++++
7 files changed, 56 insertions(+), 43 deletions(-)
create mode 100644 guests/files/ccache.conf
delete mode 100644 guests/tasks/test.yml
create mode 100644 guests/tasks/user.yml
--
2.14.3
6 years, 9 months