Re: [libvirt] [PATCH 1/2] vbox: add vbox 5.1 C API header file.
by Eric Blake
On 11/07/2016 03:03 PM, Dawid Zamirski wrote:
>
> extracted from VirutalBox SDK and reindented with cppi.
> ---
> src/vbox/vbox_CAPI_v5_1.h | 26117 ++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 26117 insertions(+)
> create mode 100644 src/vbox/vbox_CAPI_v5_1.h
1.1 Meg of generated code is a lot to send to the mailing list. Can you
compress the patch so that it isn't taxing the list server quite so
hard? Or if someone with push rights agrees, send them the patch on the
side and get it committed without going through the list (as there's
very little that actually needs a review).
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
8 years, 1 month
[libvirt] [PATCH v2 0/8] aggregate multiple pcie-root-ports onto a single slot
by Laine Stump
This is just a rebase of v1 of the same series, reposted to make it
easier for Andrea to review.
Laine Stump (8):
conf: use struct instead of int for each slot in
virDomainPCIAddressBus
conf: eliminate concept of "reserveEntireSlot"
conf: eliminate repetitive code in virDomainPCIAddressGetNextSlot()
conf: start search for next unused PCI address at same slot as
previous find
conf: new function virDomainPCIAddressIsMulti()
qemu: use virDomainPCIAddressIsMulti() to determine multifunction
setting
conf: aggregate multiple devices on a slot when assigning PCI
addresses
conf: aggregate multiple pcie-root-ports onto a single slot
src/conf/domain_addr.c | 290 ++++++++++++++-------
src/conf/domain_addr.h | 48 +++-
src/libvirt_private.syms | 1 +
src/qemu/qemu_command.c | 16 +-
src/qemu/qemu_domain_address.c | 35 ++-
.../qemuxml2argv-pcie-root-port.args | 5 +-
.../qemuxml2argv-pcie-switch-upstream-port.args | 5 +-
.../qemuxml2argv-q35-default-devices-only.args | 7 +-
.../qemuxml2argv-q35-multifunction.args | 43 +++
.../qemuxml2argv-q35-multifunction.xml | 51 ++++
.../qemuxml2argv-q35-pcie-autoadd.args | 30 ++-
tests/qemuxml2argvdata/qemuxml2argv-q35-pcie.args | 28 +-
.../qemuxml2argv-q35-virt-manager-basic.args | 13 +-
.../qemuxml2argv-q35-virtio-pci.args | 28 +-
tests/qemuxml2argvtest.c | 25 ++
.../qemuxml2xmlout-pcie-root-port.xml | 2 +-
.../qemuxml2xmlout-pcie-switch-upstream-port.xml | 4 +-
.../qemuxml2xmlout-q35-default-devices-only.xml | 8 +-
.../qemuxml2xmlout-q35-multifunction.xml | 120 +++++++++
.../qemuxml2xmlout-q35-pcie-autoadd.xml | 52 ++--
.../qemuxml2xmloutdata/qemuxml2xmlout-q35-pcie.xml | 48 ++--
.../qemuxml2xmlout-q35-virt-manager-basic.xml | 20 +-
.../qemuxml2xmlout-q35-virtio-pci.xml | 48 ++--
tests/qemuxml2xmltest.c | 25 ++
24 files changed, 676 insertions(+), 276 deletions(-)
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-multifunction.args
create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-q35-multifunction.xml
create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-q35-multifunction.xml
--
2.7.4
8 years, 1 month
[libvirt] [PATCH] Unbreak rebuilding docs with release tarballs
by Guido Günther
Release tarballs ship the include/libvirt/libvirt-common.h.
when srcdir != builddir we end up including libvirt-common.h twice: from
$top_srcdir/include/libvirt-common.h and from
$builddir/include/libvirt-common.h leading to
function virTypedParamsGetUInt from /tmp/buildd/libvirt-2.4.0/debian/build/docs/../include/libvirt/libvirt-common.h redeclared in /tmp/buildd/libvirt-2.4.0/docs/../include/libvirt/libvirt-common.h
function virTypedParamsAddBoolean from /tmp/buildd/libvirt-2.4.0/debian/build/docs/../include/libvirt/libvirt-common.h redeclared in /tmp/buildd/libvirt-2.4.0/docs/../include/libvirt/libvirt-common.h
…
Only add the builddir to the search list if there is no pregenerated
libvirt-common.h.
Reuse the existing check that predates the libvirt.h → libvirt-common.h
split and that probably was meant for exactly that.
References: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=842452
---
docs/apibuild.py | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/docs/apibuild.py b/docs/apibuild.py
index 8728b27..47f340c 100755
--- a/docs/apibuild.py
+++ b/docs/apibuild.py
@@ -2607,10 +2607,9 @@ class app:
dirs = [srcdir + "/../src",
srcdir + "/../src/util",
srcdir + "/../include/libvirt"]
- if builddir:
+ if (builddir and
+ not os.path.exists(srcdir + "/../include/libvirt/libvirt-common.h")):
dirs.append(builddir + "/../include/libvirt")
- if glob.glob(srcdir + "/../include/libvirt/libvirt.h") == [] :
- dirs.append("../include/libvirt")
builder = docBuilder(name, srcdir, dirs, [])
elif glob.glob("src/libvirt.c") != [] :
if not quiet:
--
2.10.1
8 years, 1 month
[libvirt] [PATCH] spec: Run all make jobs in parallel
by Andrea Bolognani
Commit e8861f69714f changed our spec file to compile and run
tests in parallel. That's a very good step forward, but why
stop there? Let's run *all* make jobs in parallel and really
put those expensive cores to use!
On my laptop, this shaves ~10s off 'make rpm'.
---
libvirt.spec.in | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libvirt.spec.in b/libvirt.spec.in
index 5133936..a2c2f2f 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -1210,9 +1210,9 @@ rm -fr %{buildroot}
# Avoid using makeinstall macro as it changes prefixes rather than setting
# DESTDIR. Newer make_install macro would be better but it's not available
# on RHEL 5, thus we need to expand it here.
-make install DESTDIR=%{?buildroot} SYSTEMD_UNIT_DIR=%{_unitdir}
+make %{?_smp_mflags} install DESTDIR=%{?buildroot} SYSTEMD_UNIT_DIR=%{_unitdir}
-make -C examples distclean
+make %{?_smp_mflags} -C examples distclean
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
--
2.7.4
8 years, 1 month
[libvirt] [PATCH] Allow saving QEMU libvirt state to a pipe
by Roy Keene
All,
Currently the "virsh save" command opens a file to save a domain's
XML and memory state, does the save, and then re-opens the file to
simulate seeking to the beginning to update the header to indicate that
the file is complete.
For pipes this is not possible, attempting to re-open the pipe will not
connect you to the same consumer. Seeking is also not possible on a pipe.
Attached is a patch that detects if the file being written to is not
seekable, and if so writes the completed header initially, then writes
the normal data, and avoids re-opening the file.
This is useful to me for saving a VM state directly to Ceph RBD images
without having an intermediate file.
I've tested this patch successfully (against v1.3.5) for both saving and
restoring a domain:
# *( fifo="$(mktemp -u)"; mkfifo "${fifo}" && virsh save one-0 "${fifo}"
& cat "${fifo}" | rbd import - rbd/test1234 & wait; rm -f "${fifo}" )*
Domain one-0 saved to /tmp/tmp.HK4hChiQqB
#
# *( fifo="$(mktemp -u)"; mkfifo "${fifo}" && rbd export rbd/test1234 -
> "${fifo}" & virsh restore "${fifo}" & wait; rm -f "${fifo}" ) *
Exporting image: 100% complete...done.
Domain restored from /tmp/tmp.0YaUZ5Y2yT
# *virsh list*
Id Name State
----------------------------------------------------
11 one-0 running
#
--
Roy Keene
Knight Point Systems, LLC
Service-Disabled Veteran-Owned Business
1775 Wiehle Avenue Suite 101 | Reston, VA 20190
c: 813-956-3808 f: 571-266-3106
www.knightpoint.com
DHS EAGLE II Prime Contractor: FC1 SDVOSB Track
GSA Schedule 70 SDVOSB: GS-35F-0646S
GSA MOBIS Schedule: GS-10F-0404Y
ISO 20000 / ISO 27001
Notice: This e-mail message, including any attachments, is for the
sole use of the intended recipient(s) and may contain confidential
and privileged information. Any unauthorized review, copy, use,
disclosure, or distribution is STRICTLY prohibited. If you are not
the intended recipient, please contact the sender by reply e-mail
and destroy all copies of the original message.
8 years, 1 month
[libvirt] qemu: domain notification for serial channel changes
by Matt Broadstone
Hi,
I was in the process of implementing a custom qemu agent which
communicates over virtio-serial channels, when I noticed that the only
way to receive channel state change notifications was to poll the
domstatus XML file. There does seem to be code in libvirt to monitor
for serial change events
(https://libvirt.org/git/?p=libvirt.git;a=blob;f=src/qemu/qemu_driver.c;h=...),
however it's hardcoded/specific to the qemu-ga (explicitly checking
for ports named "org.qemu.guest_agent.0").
It occurs to me that while there was a class of events added for guest
lifecycle changes, it might be a more generic solution to provide
events for character device changes. Am I missing some existing
functionality here? I'm a first-time poster here so I was hoping to
both signal my intent to implement something more generic, as well as
ping the community to see if there would be interest in this work or
reasons why I shouldn't be doing this.
Regards,
Matt
8 years, 1 month
[libvirt] [PATCH v2] bhyve: add e1000 nic support
by Roman Bogorodskiy
Changes since v1:
- Fix indentation
- Don't leak nic_model in bhyveBuildNetArgStr, and actually
convert it to use 'goto out' to the clean up routine instead
of explicit calls to VIR_FREE for every case
- Add support for e1000 for argv2xml code, along with tests
Roman Bogorodskiy (1):
bhyve: add e1000 nic support
src/bhyve/bhyve_capabilities.c | 27 ++++++++
src/bhyve/bhyve_capabilities.h | 1 +
src/bhyve/bhyve_command.c | 74 ++++++++++++++--------
src/bhyve/bhyve_parse_command.c | 9 ++-
tests/bhyveargv2xmldata/bhyveargv2xml-e1000.args | 8 +++
tests/bhyveargv2xmldata/bhyveargv2xml-e1000.xml | 28 ++++++++
.../bhyveargv2xmldata/bhyveargv2xml-virtio-net.xml | 2 +
.../bhyveargv2xml-virtio-net4.xml | 1 +
tests/bhyveargv2xmltest.c | 1 +
.../bhyvexml2argvdata/bhyvexml2argv-net-e1000.args | 9 +++
.../bhyvexml2argv-net-e1000.ldargs | 3 +
.../bhyvexml2argvdata/bhyvexml2argv-net-e1000.xml | 22 +++++++
tests/bhyvexml2argvtest.c | 7 +-
13 files changed, 162 insertions(+), 30 deletions(-)
create mode 100644 tests/bhyveargv2xmldata/bhyveargv2xml-e1000.args
create mode 100644 tests/bhyveargv2xmldata/bhyveargv2xml-e1000.xml
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-net-e1000.args
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-net-e1000.ldargs
create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-net-e1000.xml
--
2.9.2
8 years, 1 month
[libvirt] [PATCH 00/17] Redo website layout and branding
by Daniel P. Berrange
The current libvirt website design dates from 2008 and
has not changed significantly since. Compared to
contemporary open source project websites it looks
pretty dated and cluttered.
This series incrementally changes the website to have
a completely new layout and branding.
Since the original adobe illustrator files are long
since lost, this series introduces a newly created
variant of the libvirt logo with Inkscape as an SVG
file.
The libvirt logo used a specific font with angled tops
to letters like "l", "b" and "t" - this is the "Overpass"
font, made available by Red Hat under an open source
font license. The re-branding makes use of webfont
support so that we can use this font across the entire
libvirt website for a consistent look.
The colors of the website CSS now exactly match the
colors used in the logo in most places.
The bigger change is in the layout, with the huge
left hand sitemap nav bar being removed to give more
space to the main content. The front page now directly
links to the key pages that were shown to be highly
visited in the apache web logs. Most of the rest of
the links are now available from the "docs.html" page
linked from "Learn" in the top nav bar.
Another key change is that the download page now
covers all language bindings, test suites, docs
released by the project, not merely the core C
library.
Finally a new page "contribute.html" is added as the
source of information useful to people wishing to get
involved in the libvirt project.
View the new site here
https://berrange.fedorapeople.org/libvirt-new-website/
Note that the front page includes a feed of 4 most
recent blog posts, however, if visiting over https://
this will be blocked by browsers. In firefox you
can tell it to allow http:// content temporarily
at which point the feed will appear. I'll be doing
a proper fix by getting a TLS cert for virt-tools.org
website setup.
Daniel P. Berrange (17):
docs: use overpass font for website
docs: switch to new website banner
docs: redo style of front page
docs: add footer to all pages
docs: simplify style for headers
docs: add page describing contribution to libvirt
docs: add three core links in the header bar
docs: remove todo page
docs: remove related links page
Revert "syntax-check: Enforce <code> inside <dt> elements"
docs: rewrite content on front page to be more useful
docs: expand downloads page to cover all modules
docs: add some improved styling to contact page
docs: fill out docs page with useful links
docs: remove navigation sidebar from pages
docs: remove outdated or duplicated content
docs: add master SVG for libvirt logo
cfg.mk | 20 +-
docs/404.html.in | 5 -
docs/Makefile.am | 50 +-
docs/archdomain.html.in | 7 -
docs/archnetwork.html.in | 54 -
docs/archnode.html.in | 7 -
docs/archstorage.html.in | 32 -
docs/contact.html.in | 4 +-
docs/contribute.html.in | 140 ++
docs/deployment.html.in | 50 -
docs/docs.html.in | 161 +-
docs/downloads.html.in | 391 ++++-
docs/fonts/LICENSE.md | 90 ++
docs/fonts/hinted-Overpass-Bold.woff | Bin 0 -> 48136 bytes
docs/fonts/hinted-Overpass-BoldItalic.woff | Bin 0 -> 51008 bytes
docs/fonts/hinted-Overpass-Italic.woff | Bin 0 -> 51908 bytes
docs/fonts/hinted-Overpass-Light.woff | Bin 0 -> 49452 bytes
docs/fonts/hinted-Overpass-LightItalic.woff | Bin 0 -> 51752 bytes
docs/fonts/hinted-Overpass-Reg.woff | Bin 0 -> 48144 bytes
docs/fonts/stylesheet.css | 55 +
docs/formatsnapshot.html.in | 6 +-
docs/generic.css | 11 +-
docs/hvsupport.pl | 3 -
docs/index.html.in | 162 +-
docs/intro.html.in | 13 -
docs/js/jquery-3.1.1.min.js | 4 +
docs/js/jquery.rss.min.js | 11 +
docs/js/moment.min.js | 7 +
docs/libvirt-header-bg.png | Bin 1136 -> 0 bytes
docs/libvirt-header-logo.png | Bin 25945 -> 0 bytes
docs/libvirt-net-logical.fig | 159 --
docs/libvirt-net-logical.png | Bin 11243 -> 0 bytes
docs/libvirt-net-physical.fig | 139 --
docs/libvirt-net-physical.png | Bin 11336 -> 0 bytes
docs/libvirt.css | 319 ++--
docs/libvirtLogo.png | Bin 33698 -> 0 bytes
docs/libvirtLogo404.png | Bin 32442 -> 0 bytes
docs/logo-large-banner.png | Bin 0 -> 86032 bytes
docs/logo-small-banner-light.png | Bin 0 -> 19049 bytes
docs/logo.svg | 2153 +++++++++++++++++++++++++++
docs/main.css | 1 +
docs/page.xsl | 101 +-
docs/pending.html.in | 10 -
docs/relatedlinks.html.in | 88 --
docs/remote.html.in | 2 +-
docs/search.php.in | 2 -
docs/sitemap.html.in | 490 ------
docs/todo.cfg-example | 26 -
docs/todo.pl | 125 --
49 files changed, 3263 insertions(+), 1635 deletions(-)
delete mode 100644 docs/archdomain.html.in
delete mode 100644 docs/archnetwork.html.in
delete mode 100644 docs/archnode.html.in
delete mode 100644 docs/archstorage.html.in
create mode 100644 docs/contribute.html.in
delete mode 100644 docs/deployment.html.in
create mode 100644 docs/fonts/LICENSE.md
create mode 100644 docs/fonts/hinted-Overpass-Bold.woff
create mode 100644 docs/fonts/hinted-Overpass-BoldItalic.woff
create mode 100644 docs/fonts/hinted-Overpass-Italic.woff
create mode 100644 docs/fonts/hinted-Overpass-Light.woff
create mode 100644 docs/fonts/hinted-Overpass-LightItalic.woff
create mode 100644 docs/fonts/hinted-Overpass-Reg.woff
create mode 100644 docs/fonts/stylesheet.css
delete mode 100644 docs/intro.html.in
create mode 100644 docs/js/jquery-3.1.1.min.js
create mode 100644 docs/js/jquery.rss.min.js
create mode 100644 docs/js/moment.min.js
delete mode 100644 docs/libvirt-header-bg.png
delete mode 100644 docs/libvirt-header-logo.png
delete mode 100644 docs/libvirt-net-logical.fig
delete mode 100644 docs/libvirt-net-logical.png
delete mode 100644 docs/libvirt-net-physical.fig
delete mode 100644 docs/libvirt-net-physical.png
delete mode 100644 docs/libvirtLogo.png
delete mode 100644 docs/libvirtLogo404.png
create mode 100644 docs/logo-large-banner.png
create mode 100644 docs/logo-small-banner-light.png
create mode 100644 docs/logo.svg
delete mode 100644 docs/pending.html.in
delete mode 100644 docs/relatedlinks.html.in
delete mode 100644 docs/sitemap.html.in
delete mode 100644 docs/todo.cfg-example
delete mode 100755 docs/todo.pl
--
2.9.3
8 years, 1 month
[libvirt] [PATCH v2 0/3] wireshark: Further build system fixes
by Andrea Bolognani
Changes from v1:
* don't attempt to strip the wireshark prefix when we're
building the plugindir ourselves
* use exec_prefix instead of prefix everywhere (suggested
by Viktor Mihajlovski)
Andrea Bolognani (3):
wireshark: Don't redefine ws_plugindir
wireshark: Make fallback path construction more reliable
wireshark: Use ${exec_prefix} instead of ${prefix}
m4/virt-wireshark.m4 | 25 +++++++++++++------------
tools/Makefile.am | 1 -
2 files changed, 13 insertions(+), 13 deletions(-)
--
2.7.4
8 years, 1 month
[libvirt] [RFC 0/5] Qemu: s390: Cpu Model Support
by Jason J. Herne
Thanks for all your feedback up to this point. We've made some progress on this
and we also have a few questions. Please let us know if we're on the right track
or if we're off in the weeds on this.
Here is what we have so far.
Patch #1 updates s390's cpu driver to support some operations needed for cpu
model support within Libvirt's existing infrastructure.
Patch #2 removes s390's hard coded "host" model string. Jiri thought it made
more sense to simply leave this blank.
Path #3 adds qmp query-cpu-model-expansion command.
Patch #4 probes Qemu's view of the host model (query-cpu-model-expansion),
caches the response and uses it to fill in qemuCaps->hostCpuModel. Archs that
do not implement query-cpu-model-expansion will continue to fill in
qemuCaps->hostCpuModel from caps->host.cpu.
Patch #5 updates qemuBuildCpuModelArgStr's VIR_CPU_MODE_HOST_MODEL case. It
seems like all archs except PPC64 do not support host model mode. We add an s390
path here and get the guest cpu model from virQEMUCapsGetHostModel() which will
get the model name from qemuCaps->hostCpuModel.
NOTE: I just realized we'll need need to handle the case where
virQEMUCapsGetHostModel returns NULL or the model is NULL or "". We probably
should just throw an error and give up in that case.
Here is a list of outstanding things to do and some questions.
1. virsh domcapabilities --emulatorbin flag
This works today if the command is passed --emulatorbin /usr/bin/qemu-kvm.
If no emulatorbin is given then Libvirt seems to choose
/usr/bin/qemu-system-s390x my system which does not have kvm enabled.
A kvm session is needed for s390 to properly compute the host model. A kvm
session is only available for the qemu-kvm binary.
Is the answer to tell our users to always supply --emulatorbin with
/usr/bin/qemu-kvm argument? Or is there a more user friendly solution to this?
2. virsh baseline and compare support.
Both of these commands, for s390 at least, will need to spin up a Qemu session
with monitor to compute the result. The only place I see this done today is
qemu_capabilities. Rather than blindly duplicate the code, I guess we should
carve out some type of api for spinning up a monitor backed Qemu instance, yes?
Also, neither compare nor baseline have the --emulatorbin flag. So we'll either
need to add them or find an alternate solution. Any thoughts on this?
3.Support host passthrough mode.
This essentially just means passing -cpu host to qemu. We know Qemu supports
this for s390 today. But Libvirt claims it is not supported due to the
following:
In virQEMUCapsIsCPUModeSupported, our virt "type" is VIR_DOMAIN_VIRT_QEMU, and
not VIR_DOMAIN_VIRT_KVM.
virttype comes from domCaps and is set here: qemuConnectGetDomainCapabilities()
The relevant code is:
if (qemuHostdevHostSupportsPassthroughLegacy() ||
qemuHostdevHostSupportsPassthroughVFIO())
virttype = VIR_DOMAIN_VIRT_KVM;
else
virttype = VIR_DOMAIN_VIRT_QEMU;
I'll admit, I have not been able to figure out why these checks are failing in
my test environment, when I suspect they should be passing. But in my case it
seems as though these relate to host device passthrough. How do they apply to
cpu model passthrough. What am I missing?
Thanks for your time.
Collin L. Walling (3):
s390: Report blank host model instead of "host"
qemu: qmp query-cpu-model-expansion command
qemu-caps: Get host model directly from Qemu when available
Jason J. Herne (2):
s390: Cpu driver support for getModels, update and compare
s390: qemu: Support cpu host-model mode
src/cpu/cpu_s390.c | 33 +++++++++++++--
src/qemu/qemu_capabilities.c | 88 ++++++++++++++++++++++++++++++++++++++-
src/qemu/qemu_command.c | 3 ++
src/qemu/qemu_monitor.c | 28 +++++++++++++
src/qemu/qemu_monitor.h | 19 +++++++++
src/qemu/qemu_monitor_json.c | 98 ++++++++++++++++++++++++++++++++++++++++++++
src/qemu/qemu_monitor_json.h | 6 +++
7 files changed, 271 insertions(+), 4 deletions(-)
--
1.9.1
8 years, 1 month