On Mon, Jun 22, 2015 at 17:09:22 +0100, Daniel P. Berrange wrote:
On Mon, Jun 22, 2015 at 05:58:46PM +0200, Jiri Denemark wrote:
However, knowing all the details about a guest CPU used by QEMU for a
given CPU model on a specific machine type is not enough to enforce ABI
stability. Without
Changes from v1
Remove cleanup label and goto operator from prlsdkAttachNet() and
prlsdkDetachNet()
Replace it with return operator.
Rename netMac variable to expectedMac in prlsdkGetNetIndex()
Move prlsdkGetNetIndex() call after PrlVm_BeginEdit call in prlsdkDetachNet()
function.
Mikhail
On Mon, Jun 22, 2015 at 18:43:56 +0200, Jiri Denemark wrote:
On Mon, Jun 22, 2015 at 17:09:22 +0100, Daniel P. Berrange wrote:
On Mon, Jun 22, 2015 at 05:58:46PM +0200, Jiri Denemark wrote:
However, knowing all the details about a guest CPU used by QEMU for a
given CPU model on a specific
On 06/22/2015 09:05 AM, Michal Privoznik wrote:
On 22.06.2015 15:52, Eric Blake wrote:
On 06/20/2015 01:42 PM, Eric Blake wrote:
Rather than grabbing an arbitrary JSON value and then checking
if it has the right type, we might as well request the correct
type to begin with.
Signed-off-by:
On Mon, Jun 22, 2015 at 05:58:46PM +0200, Jiri Denemark wrote:
However, knowing all the details about a guest CPU used by QEMU for a
given CPU model on a specific machine type is not enough to enforce ABI
stability. Without using -cpu Model,enforce (or an equivalent of
checking
Changes from v1
Remove cleanup label and goto operator from prlsdkAttachNet() and
prlsdkDetachNet()
Replace it with return operator.
Rename netMac variable to expectedMac in prlsdkGetNetIndex()
Move prlsdkGetNetIndex() call after PrlVm_BeginEdit call in prlsdkDetachNet()
function.
Patch
On Mon, Jun 22, 2015 at 18:43:56 +0200, Jiri Denemark wrote:
On Mon, Jun 22, 2015 at 17:09:22 +0100, Daniel P. Berrange wrote:
On Mon, Jun 22, 2015 at 05:58:46PM +0200, Jiri Denemark wrote:
However, knowing all the details about a guest CPU used by QEMU for a
given CPU model on a specific
On Fri, Jun 19, 2015 at 15:43:02 +0100, Daniel P. Berrange wrote:
On Fri, Jun 19, 2015 at 04:36:34PM +0200, Jiri Denemark wrote:
On Thu, Jun 18, 2015 at 14:41:17 +0100, Daniel P. Berrange wrote:
So either we need to define all existing CPU models in all their
variants used for various
The acl.html file includes aclperms.htmlinc which is generated.
However, there's a typo in the Makefile which makes make fail to see
the dependencies correctly.
Signed-off-by: Michal Privoznik mpriv...@redhat.com
---
docs/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff
In this patch we add VIR_DOMAIN_DEVICE_NET handlers implementation
for domainAttachDevice and domainDetachDevice callbacks.
As soon as we don't support this operation for hypervisor type domains,
we implement this functionality for containers only.
In detach procedure we find network device by
On 06/22/2015 04:21 AM, Peter Krempa wrote:
On Sun, Jun 21, 2015 at 16:10:47 -0400, Cole Robinson wrote:
On 06/11/2015 02:40 AM, Pavel Fedin wrote:
This capability specifies that virt machine on ARM has PCI controller.
Enabled when version is at least 2.3.0.
Signed-off-by: Pavel Fedin
On 06/22/2015 11:01 AM, Eric Blake wrote:
On 06/22/2015 09:05 AM, Michal Privoznik wrote:
On 22.06.2015 15:52, Eric Blake wrote:
On 06/20/2015 01:42 PM, Eric Blake wrote:
Rather than grabbing an arbitrary JSON value and then checking
if it has the right type, we might as well request the
On Mon, Jun 22, 2015 at 04:40:37PM +0200, Richard Weinberger wrote:
Hi!
Why is libvirt-lxc issuing a setsid() in lxcContainerSetupFDs()?
To me it seems like a hack to have a controlling TTY if PID 1 is /bin/bash.
I honestly can't remember the reason. It might have been to ensure we have
On 22.06.2015 15:52, Eric Blake wrote:
On 06/20/2015 01:42 PM, Eric Blake wrote:
Rather than grabbing an arbitrary JSON value and then checking
if it has the right type, we might as well request the correct
type to begin with.
Signed-off-by: Eric Blake ebl...@redhat.com
---
The first 4 patches are bugfixes/reorganizations that have no controversy.
The sets of 5-7, 8-10, and 11-13 each implement a new model of PCI
controller:
5-7 - controller type='pci' model='pcie-root-port'/
This is based on qemu's ioh3420.
8-10 - controller type='pci'
This is a PCIE root port. It connects only to a port of the
integrated pcie.0 bus of a Q35 machine (can't be hotplugged), and
provides a single PCIe port that can have PCI or PCIe devices
hotplugged into it.
This device will be used to implement the pcie-root-port model of
pci controller.
---
Certain PCI buses don't support hotplug, and when automatically
assigning PCI addresses for devices, libvirt is very concervative in
its assumptions about whether or not a device will need to be
hotplugged/unplugged in the future. But if the user manually assigns
an address, they likely are aware
Also move the mention of version numbers for the various PCI
controller models up to the end of the sentence where they are first
given, to avoid confusion.
---
docs/formatdomain.html.in | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/docs/formatdomain.html.in
Yajl 2 has a nice feature that it can be configured whether to
allow multiple JSON objects parsed from a single stream, defaulting
to off. And yajl 1.0.12 at least provided a way to tell if all
input bytes were parsed, or if trailing bytes remained after a
valid JSON object was parsed. But we
On 06/16/2015 11:29 PM, Eric Farman wrote:
While working with the hostdev tag and SCSI LUNs, a problem was
discovered with the XML schema (see commit message in patch 4).
This spawned some further corrections to the handling of the
logical unit field throughout libvirt.
This series was
Commit ceb496e5 fails on RHEL 6, with yajl 1.0.7, because that
version of yajl returns yajl_status_insufficient_data when the
parser is waiting for the rest of a token (this enum value was
dropped in yajl 2, so we have to wrap it). It also exposes a
problem where older yajl silently ignores
Since older yajl ignores trailing garbage, a client can cause
problems by intentionally ending the wrapper array early. Since
we already track nesting, it's not too much harder to reject
invalid nesting pops.
* src/util/virjson. (_virJSONParser): Add field.
(virJSONValueFromString): Set witness.
If a SCSI subsystem hostdev element is provided with an address,
then enforce that the address type is 'drive'. If not provided,
a 'drive' element was created by virDomainHostdevAssignAddress
which uses VIR_DOMAIN_DEVICE_ADDRESS_TYPE_DRIVE.
Signed-off-by: John Ferlan jfer...@redhat.com
---
https://bugzilla.redhat.com/show_bug.cgi?id=1210587 (completed)
When generating the default drive address for a SCSI disk device,
check the generated address to ensure it doesn't conflict with a SCSI
hostdev address. The disk address generation algorithm uses the
target dev name in order to
https://bugzilla.redhat.com/show_bug.cgi?id=1210587 (partial)
If a SCSI subsystem hostdev element address is provided, we need to
make sure the address provided doesn't conflict with an existing or
libvirt generated address for a SCSI disk element.
This will fix the issue where the domain XML
Modify virDomainDriveAddressIsUsedBy{Disk|Hostdev} and
virDomainSCSIDriveAddressIsUsed to take 'bus' and 'target'
parameters. Will be used by future patches for more complete
address conflict checks
Signed-off-by: John Ferlan jfer...@redhat.com
---
src/conf/domain_conf.c | 24
Rather than passing the def-seclabels and def-nseclabels, refactor
the API to pass the entire domain definition. This will be used in a
future patch as well.
Signed-off-by: John Ferlan jfer...@redhat.com
---
src/conf/domain_conf.c | 18 ++
1 file changed, 6 insertions(+), 12
https://bugzilla.redhat.com/show_bug.cgi?id=1210587
These patches will resolve a couple issues with generation of the
address type='drive' .../ for a SCSI disk and hostdev.
The disk generation algorithm 'assumes' that when presented with
target dev='sda'.../ that it can use controller=0 and
Fixes 'make check' on RHEL 6, which I recently broke, then adds
further improvements to the JSON parser.
I'm tempted to push patch 1/3 as a build-breaker, but since the
other two need review, I'll hold off and we can do all three as
a series.
Eric Blake (3):
json: cope with older yajl
We already enable the parser option to detect invalid UTF-8, but
didn't test it. Also, JSON states that behavior of an object
with a duplicated key is undefined; we chose to reject it, but
were not testing it.
With the enhanced tests in place, we can simplify yajl2
initialization by relying on
On 06/22/2015 05:06 PM, Eric Blake wrote:
v2 was here:
https://www.redhat.com/archives/libvir-list/2015-June/msg00591.html
This series depends on my yajl/json cleanups:
https://www.redhat.com/archives/libvir-list/2015-June/msg01098.html
and can also be found here:
git clone
Time to wire up the new API to call into the QMP command for setting
a write threshold.
For now, the API only allows setting the threshold on the active
layer. But I left TODOs in the series for places that need
touching to find and support node names of backing files, so that
we can use vda[1]
Expose threshold information by collecting the information from
QMP commands. qemu 2.3 has a way to get threshold information
on all elements of a block chain, but only when node names are
used - what's worse, the threshold information is only provided
by 'query-named-block-nodes', but the
Set up functions to make it easy to map between libvirt disk
names and qemu node names. Although we won't expose the
information in XML, it is still nicer to cache the information
than to have to grab a job lock, so that we are less likely
to need to re-query the monitor when dealing with a qemu
Add a new 'virsh domblkthreshold' command to use the new API.
The main use is an obvious mapping to the new API:
virsh domblkthreshold $dom $disk 1000 # 10M bytes
or
virsh domblkthreshold $dom $disk 101000 --proportion # 10.1%
but I also wanted to be lazy at computing parts per million,
so
Track whether qemu is new enough to do block thresholds on the
active layer (feature added in qemu 2.3). The plan is that even
if qemu is too old, attempts to register a threshold value will
return failure; but the event handler callback can still be
registered successfuly (and will just never
qemu 2.3 added a new QMP command block-set-write-threshold,
which allows callers to get an interrupt when a file hits a
write threshold, rather than the current approach of repeatedly
polling for file allocation. This patch prepares the API for
callers to register to receive the event, as well as
Pass the new virDomainBlockSetWriteThreshold() API and
WRITE_THRESHOLD event across RPC. The event takes the bulk
of the patch, but everything here is pretty mechanical and
copies patterns from existing code.
Yes, it is intentional that registration takes a single
mandatory string (which can be
With this patch, block write threshold events delivered by qemu
are converted into libvirt events.
This patch takes the easy road, and only reports events if
the node name is still cached by libvirtd (true in the common
case when libvirtd is not restarted, since you can't get an
event if you
Implement the QMP side of asking qemu what node name it assigned
to an arbitrary top-level device node. Assumes that the caller
will have already validated that the device is qcow2 backed by
a block device, and that qemu auto-assigns node names.
* src/qemu/qemu_monitor.h
Common code for tracking a write threshold event from creation
to delivery through a callback.
* src/conf/domain_event.c (_virDomainEventWriteThreshold): New
struct.
(virDomainEventsOnceInit, virDomainEventWriteThresholdDispose)
(virDomainEventWriteThresholdNew)
v2 was here:
https://www.redhat.com/archives/libvir-list/2015-June/msg00591.html
This series depends on my yajl/json cleanups:
https://www.redhat.com/archives/libvir-list/2015-June/msg01098.html
and can also be found here:
git clone git://repo.or.cz/libvirt/ericb.git threshold
We need to handle events with PIE_DISPATCHER type.
Do not write error messages to log in case of unhandled event types.
---
src/parallels/parallels_sdk.c |4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/parallels/parallels_sdk.c b/src/parallels/parallels_sdk.c
index
22.06.2015 14:15, Mikhail Feoktistov пишет:
We need to handle events with PIE_DISPATCHER type.
Could you please shed some more light on why we need this. I guess it
fixes some problem, so more explanation could be useful.
Do not write error messages to log in case of unhandled event types.
From: Prerna Saxena pre...@linux.vnet.ibm.com
Date: Mon, 22 Jun 2015 06:12:24 -0500
This is the second version of storage fixes.
V1 :
http://www.redhat.com/archives/libvir-list/2015-May/msg00050.html
Summary:
Prerna Saxena (2):
Storage: Introduce shadow vol for refresh while the
QEMU working in vhost-user mode communicates with the other end (i.e.
some virtual router application) via unix domain sockets. This requires
that permissions for the socket files are correctly written into
/etc/apparmor.d/libvirt/libvirt-UUID.files.
Signed-off-by: Michal Dubiel m...@semihalf.com
From: Prerna Saxena pre...@linux.vnet.ibm.com
Date: Mon, 22 Jun 2015 02:54:32 -0500
When virsh vol-clone is attempted on a raw file where capacity allocation,
the resulting cloned volume has a size that matches the virtual-size of
the parent; in place of matching its actual, disk size.
This
From: Prerna Saxena pre...@linux.vnet.ibm.com
Date: Thu, 18 Jun 2015 05:05:09 -0500
Libvirt periodically refreshes all volumes in a storage pool, including
the volumes being cloned.
While cloning a storage volume from parent, we drop pool locks. Subsequent
volume refresh sometimes changes
On 17.06.2015 14:47, Vasiliy Tolstov wrote:
* add libvirt_domain_qemu_agent_command
* fix install target, because before this all stuff goes to /usr/usr dir
These are semantically two separate changes and should go into separate
patches. Can you please rebase, split and resend?
Michal
--
See http://honk.sigxcpu.org:8001/job/libvirt-syntax-check/3620/
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
A single-line 'if' body should not be encased in curly braces. Our
syntax-check enforces it. Introduced in 7f3515b4bb677d0ead1887547efc844
---
Pushed under the build-breaker rule.
src/qemu/qemu_capabilities.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git
There's a small formatting problem in the function. One line is
not correctly indented. Fix this.
Signed-off-by: Michal Privoznik mpriv...@redhat.com
---
Initially, there were two chunks in this patch (and slightly
different commit message), but Peter was faster than me
On 19 June 2015 at 21:30, Serge Hallyn serge.hal...@ubuntu.com wrote:
Quoting Michal Dubiel (m...@semihalf.com):
QEMU working in vhost-user mode communicates with the other end (i.e.
some virtual router application) via unix domain sockets. This requires
that permissions for the socket
Besides by changing from :
} else {
if ((x) == -1))
return -1;
to
} else if ((x) == -1) {
return -1;
Everything else inside the else if after the return -1 becomes dead
Yes it becomes dead, but there is nothing left in the 'else if' block.
On 17.06.2015 11:58, Vasiliy Tolstov wrote:
Signed-off-by: Vasiliy Tolstov v.tols...@selfip.ru
---
src/libvirt-php.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/libvirt-php.c b/src/libvirt-php.c
index d46fbb9..093623c 100644
--- a/src/libvirt-php.c
+++ b/src/libvirt-php.c
On Sun, Jun 21, 2015 at 16:10:47 -0400, Cole Robinson wrote:
On 06/11/2015 02:40 AM, Pavel Fedin wrote:
This capability specifies that virt machine on ARM has PCI controller.
Enabled when version is at least 2.3.0.
Signed-off-by: Pavel Fedin p.fe...@samsung.com
---
On 06/22/2015 11:10 AM, Eric Blake wrote:
On 06/22/2015 11:01 AM, Eric Blake wrote:
On 06/22/2015 09:05 AM, Michal Privoznik wrote:
On 22.06.2015 15:52, Eric Blake wrote:
On 06/20/2015 01:42 PM, Eric Blake wrote:
Rather than grabbing an arbitrary JSON value and then checking
if it has the
We have been allowing javascript style comments in JSON ever
since commit 9428f2c (v0.7.5), but qemu doesn't send them, and
they are not strict JSON. Reject them for now; if we can later
prove that it is worthwhile, we can reinstate it at that point
(or even make it conditional, by adding a bool
This controller can be connected (at domain startup time only - not
hotpluggable) only to a port on the pcie root complex (pcie-root in
libvirt config), hence the new connect type
VIR_PCI_CONNECT_TYPE_PCIE_ROOT. It provides a hotpluggable port that
will accept any PCI or PCIe device.
---
This controller can be connected only to a port on a
pcie-switch-upstream-port. It provides a single hotpluggable port
that will accept any PCI or PCIe device.
---
docs/formatdomain.html.in | 31 +--
docs/schemas/domaincommon.rng | 1
This controller can be connected to any PCIe port, but not to a
standard PCI port, which is the reason for the new connect type
VIR_PCI_CONNECT_TYPE_PCIE_ONLY. pcie-switch provides 31 ports (slot=1
to slot=31), which can only have pci controllers of model
pcie-switch-downstream-port plugged into
The downstream ports of an x3130-upstream switch can each have one of
these plugged into them (and that is the only place they can be
connected). Each xio3130-downstream provides a single PCIe port that
can have PCI or PCIe devices hotplugged into it. Apparently an entire
set of x3130-upstream +
This is the upstream part of a PCIe switch. It connects to a PCIe port
(but not PCI) on the upstream side, and can have up to 31
xio3130-downstream controllers (but no other types of devices)
connected to its downstream side.
This device will be used to implement the pcie-switch model of pci
When support for the pcie-root and dmi-to-pci-bridge buses on a Q35
machinetype was added, I was concerned that even though qemu at the
time allowed plugging a PCI device into a PCIe port, that it might not
be supported in the future. To prevent painful backtracking in the
possible future where
this is backed by the qemu device x3130-upstream.
---
src/qemu/qemu_command.c| 22 ++
.../qemuxml2argv-pcie-switch-upstream-port.args| 9 +
tests/qemuxml2argvtest.c | 9 +
3 files changed, 40
This is backed by the qemu device ioh3420.
---
src/qemu/qemu_command.c | 20
.../qemuxml2argv-pcie-root-port.args | 10 ++
tests/qemuxml2argvtest.c | 7 +++
3 files changed, 37 insertions(+)
This is backed by the qemu device xio3130-downstream. It can only be
connected to a pcie-switch-upstream-port (x3130-upstream) on the
upstream side.
---
src/qemu/qemu_command.c | 15 +++
.../qemuxml2argv-pcie-switch-downstream-port.args | 13
The PCI case of the switch statement in this function contains another
switch statement with a case for each model. Currently every model
except pci-root and pcie-root have a check for index 0 (since only
those two can have index==0), and the function should never be called
for those two anyway.
On 06/18/2015 09:29 PM, Jiri Denemark wrote:
On Wed, Jun 17, 2015 at 22:22:44 +0800, Luyao Huang wrote:
https://bugzilla.redhat.com/show_bug.cgi?id=1207095
We allow set the feature with the host-passthrough cpu,
but won't save them in the migration xml, the features we
specified will
On 06/18/2015 08:12 PM, John Ferlan wrote:
On 06/15/2015 08:33 AM, Luyao Huang wrote:
When hot-plug a memory device, we don't check if there
is a memory device have the same address with the memory device
we want hot-pluged. Qemu forbid use/hot-plug 2 memory device
with same slot or the same
On 06/18/2015 08:42 PM, Jiri Denemark wrote:
On Wed, Jun 17, 2015 at 22:22:45 +0800, Luyao Huang wrote:
From the documentation :With this mode, the CPU visible to
the guest should be exactly the same as the host CPU even in
the aspects that libvirt does not understand.
So this place document
22.06.2015 14:22, Maxim Nestratov пишет:
22.06.2015 14:15, Mikhail Feoktistov пишет:
We need to handle events with PIE_DISPATCHER type.
Could you please shed some more light on why we need this. I guess it
fixes some problem, so more explanation could be useful.
If the configuration of the
On 06/17/2015 03:35 PM, Mikhail Feoktistov wrote:
In this patch we add VIR_DOMAIN_DEVICE_NET handlers implementation
for domainAttachDevice and domainDetachDevice callbacks.
As soon as we don't support this operation for hypervisor type domains,
we implement this functionality for containers
Hey guys,
This is duplicate from Bugzilla
(https://bugzilla.redhat.com/show_bug.cgi?id=1181539), but I would
like to ask you if my patch looks good.
virsh net-update starts iptables rules reload for NAT network
system. This event doesn't start network hooks, so all previous custom
iptables rules
Since QEMU commit ea96bc6 [1]:
i386: drop FDC in pc-q35-2.4+ if neither it nor floppy drives are wanted
the floppy controller is no longer implicit.
Specify it explicitly on the command line if the machine type version
is 2.4 or later.
Note that libvirt's floppy drives do not result in QEMU
On 22.06.2015 12:23, kay wrote:
Hey guys,
This is duplicate from Bugzilla
(https://bugzilla.redhat.com/show_bug.cgi?id=1181539), but I would
like to ask you if my patch looks good.
virsh net-update starts iptables rules reload for NAT network
system. This event doesn't start network
On 22.06.2015 16:48, Maxim Nestratov wrote:
22.06.2015 16:44, Nikolay Shirokovskiy пишет:
On 22.06.2015 16:00, Mikhail Feoktistov wrote:
22.06.2015 14:22, Maxim Nestratov пишет:
22.06.2015 14:15, Mikhail Feoktistov пишет:
We need to handle events with PIE_DISPATCHER type.
Could you please
On 22.06.2015 16:00, Mikhail Feoktistov wrote:
22.06.2015 14:22, Maxim Nestratov пишет:
22.06.2015 14:15, Mikhail Feoktistov пишет:
We need to handle events with PIE_DISPATCHER type.
Could you please shed some more light on why we need this. I guess it fixes
some problem, so more
22.06.2015 16:44, Nikolay Shirokovskiy пишет:
On 22.06.2015 16:00, Mikhail Feoktistov wrote:
22.06.2015 14:22, Maxim Nestratov пишет:
22.06.2015 14:15, Mikhail Feoktistov пишет:
We need to handle events with PIE_DISPATCHER type.
Could you please shed some more light on why we need this. I
On 06/20/2015 01:42 PM, Eric Blake wrote:
Rather than grabbing an arbitrary JSON value and then checking
if it has the right type, we might as well request the correct
type to begin with.
Signed-off-by: Eric Blake ebl...@redhat.com
---
src/qemu/qemu_monitor_json.c | 164
https://bugzilla.redhat.com/show_bug.cgi?id=1227880
Ján Tomko (2):
Separate isa-fdc options generation
Explicitly format the isa-fdc controller for newer q35 machines
src/qemu/qemu_command.c| 50 --
src/qemu/qemu_domain.c
For the implicit controller, we set them via -global.
Separating them will allow reuse for explicit fdc controller as well.
No functional impact apart from one extra allocation.
---
src/qemu/qemu_command.c | 23 +++
1 file changed, 15 insertions(+), 8 deletions(-)
diff --git
On 19.06.2015 14:00, Michal Privoznik wrote:
On 19.06.2015 10:21, Vasiliy Tolstov wrote:
If a user specify ehernet device create it via libvirt and run
script if it provided. After this commit user does not need to
run external script to create tap device or add root to qemu
process.
Hi!
Why is libvirt-lxc issuing a setsid() in lxcContainerSetupFDs()?
To me it seems like a hack to have a controlling TTY if PID 1 is /bin/bash.
If one runs a sysv init style distro (like Debian) in libvirt-lxc the setsid()
has
a major downside, when getty spawns a login shell on /dev/tty1 it
84 matches
Mail list logo