Re: [libvirt] [RFC] qemu: Redesigning guest CPU configuration

2015-06-22 Thread Jiri Denemark
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

[libvirt] [PATCH v2] vz: implementation of attach/detach network devices

2015-06-22 Thread Mikhail Feoktistov
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

Re: [libvirt] [RFC] qemu: Redesigning guest CPU configuration

2015-06-22 Thread Jiri Denemark
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

Re: [libvirt] [PATCH 3/3] qemu: simplify json parsing

2015-06-22 Thread Eric Blake
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:

Re: [libvirt] [RFC] qemu: Redesigning guest CPU configuration

2015-06-22 Thread Daniel P. Berrange
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

[libvirt] [PATCH v2] parallels: implementation of attach/detach network devices

2015-06-22 Thread Mikhail Feoktistov
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

Re: [libvirt] [RFC] qemu: Redesigning guest CPU configuration

2015-06-22 Thread Jiri Denemark
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

Re: [libvirt] [RFC] qemu: Redesigning guest CPU configuration

2015-06-22 Thread Jiri Denemark
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

[libvirt] [PATCH] docs: Properly mark acl.html dependencies

2015-06-22 Thread Michal Privoznik
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

[libvirt] [PATCH v2] vz: implementation of attach/detach network devices

2015-06-22 Thread Mikhail Feoktistov
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

Re: [libvirt] [PATCH v2 1/2] Introduce QEMU_CAPS_ARM_VIRT_PCI

2015-06-22 Thread Cole Robinson
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

Re: [libvirt] [PATCH 3/3] qemu: simplify json parsing

2015-06-22 Thread Eric Blake
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

Re: [libvirt] lxc: setsid() usage

2015-06-22 Thread Daniel P. Berrange
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

Re: [libvirt] [PATCH 3/3] qemu: simplify json parsing

2015-06-22 Thread Michal Privoznik
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 ---

[libvirt] [PATCH 00/13] PCIe fixes + new PCI controllers w/RFC

2015-06-22 Thread Laine Stump
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'

[libvirt] [PATCH 05/13] qemu: add capabilities bit for device ioh3420

2015-06-22 Thread Laine Stump
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. ---

[libvirt] [PATCH 03/13] qemu: ignore assumptions about hotplug requirement when address is from config

2015-06-22 Thread Laine Stump
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

[libvirt] [PATCH 04/13] docs: document when pcie-root/dmi-to-pci-bridge support was added

2015-06-22 Thread Laine Stump
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

[libvirt] [PATCH 3/3] json: reject trailing garbage

2015-06-22 Thread Eric Blake
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

Re: [libvirt] [PATCH 0/5 v2] Corrections to SCSI logical unit handling

2015-06-22 Thread John Ferlan
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

[libvirt] [PATCH 1/3] json: cope with older yajl semantics

2015-06-22 Thread Eric Blake
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

[libvirt] [PATCH 4/3] json: even stricter trailing garbage detection

2015-06-22 Thread Eric Blake
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.

[libvirt] [PATCH 1/5] conf: Enforce SCSI hostdev address type

2015-06-22 Thread John Ferlan
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 ---

[libvirt] [PATCH 5/5] conf: Check for hostdev conflicts when assign default disk address

2015-06-22 Thread John Ferlan
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

[libvirt] [PATCH 3/5] conf: Add SCSI hostdev check for disk drive address already in use

2015-06-22 Thread John Ferlan
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

[libvirt] [PATCH 2/5] conf: Add 'bus' and 'target' to SCSI address conflict checks

2015-06-22 Thread John Ferlan
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

[libvirt] [PATCH 4/5] conf: Refactor virDomainDiskDefParseXML to pass vmdef

2015-06-22 Thread John Ferlan
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

[libvirt] [PATCH 0/5] Additional SCSI generated device address checks

2015-06-22 Thread John Ferlan
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

[libvirt] [PATCH 0/3] yajl cleanups

2015-06-22 Thread Eric Blake
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

[libvirt] [PATCH 5/3] json: enhance parser test

2015-06-22 Thread Eric Blake
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

Re: [libvirt] [PATCHv3 00/10] new API virDomainBlockSetWriteThreshold

2015-06-22 Thread Eric Blake
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

[libvirt] [PATCHv3 10/10] threshold: add write threshold setting in qemu

2015-06-22 Thread Eric Blake
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]

[libvirt] [PATCHv3 08/10] threshold: scrape threshold data from QMP

2015-06-22 Thread Eric Blake
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

[libvirt] [PATCHv3 07/10] threshold: track an allocation node name for a storage source

2015-06-22 Thread Eric Blake
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

[libvirt] [PATCHv3 02/10] threshold: expose new API in virsh

2015-06-22 Thread Eric Blake
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

[libvirt] [PATCHv3 05/10] threshold: add qemu capability bits

2015-06-22 Thread Eric Blake
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

[libvirt] [PATCHv3 01/10] threshold: new API virDomainBlockSetWriteThreshold

2015-06-22 Thread Eric Blake
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

[libvirt] [PATCHv3 04/10] threshold: wire up threshold event in RPC

2015-06-22 Thread Eric Blake
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

[libvirt] [PATCHv3 09/10] threshold: add threshold event handling in qemu

2015-06-22 Thread Eric Blake
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

[libvirt] [PATCHv3 06/10] threshold: learn a node name for a given qcow2 disk

2015-06-22 Thread Eric Blake
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

[libvirt] [PATCHv3 03/10] threshold: new event object for tracking write threshold

2015-06-22 Thread Eric Blake
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)

[libvirt] [PATCHv3 00/10] new API virDomainBlockSetWriteThreshold

2015-06-22 Thread Eric Blake
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

[libvirt] [PATCH] vz: Fix error messages in libvirt log caused by unhadled events

2015-06-22 Thread Mikhail Feoktistov
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

Re: [libvirt] [PATCH] vz: Fix error messages in libvirt log caused by unhadled events

2015-06-22 Thread 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. Do not write error messages to log in case of unhandled event types.

[libvirt] [PATCH v2 0/2] Storage fixes for libvirt.

2015-06-22 Thread Prerna Saxena
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

[libvirt] [PATCHv2] virt-aa-helper: Fix permissions for vhost-user socket files

2015-06-22 Thread Michal Dubiel
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

[libvirt] [PATCH 2/2] Storage : Fix cloning of raw, sparse volumes

2015-06-22 Thread Prerna Saxena
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

[libvirt] [PATCH 1/2] Storage: Introduce shadow vol for refresh while the main vol builds.

2015-06-22 Thread Prerna Saxena
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

Re: [libvirt] [[libvirt-php][PATCH v2] qemu-agent-command] fixes for installation and add another libvirt function

2015-06-22 Thread Michal Privoznik
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 --

[libvirt] Jenkins build is back to normal : libvirt-syntax-check #3620

2015-06-22 Thread Jenkins CI
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

[libvirt] [PATCH] qemu: caps: Fix syntax-check failure in version based capabilities

2015-06-22 Thread Peter Krempa
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

[libvirt] [PATCH] virQEMUCapsComputeCmdFlags: Indent correctly

2015-06-22 Thread Michal Privoznik
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

Re: [libvirt] [PATCH] virt-aa-helper: Fix permissions for vhost-user socket files

2015-06-22 Thread Michał Dubiel
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

Re: [libvirt] [PATCH] virt-aa-helper: Fix permissions for vhost-user socket files

2015-06-22 Thread Michał Dubiel
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.

Re: [libvirt] [[libvirt-php][PATCH v1] fix memory functions] define memory functions

2015-06-22 Thread Michal Privoznik
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

Re: [libvirt] [PATCH v2 1/2] Introduce QEMU_CAPS_ARM_VIRT_PCI

2015-06-22 Thread Peter Krempa
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 ---

Re: [libvirt] [PATCH 3/3] qemu: simplify json parsing

2015-06-22 Thread Eric Blake
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

[libvirt] [PATCH 2/3] json: reject javascript comments

2015-06-22 Thread Eric Blake
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

[libvirt] [PATCH 06/13] conf: new pci controller model pcie-root-port

2015-06-22 Thread Laine Stump
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. ---

[libvirt] [PATCH 12/13] conf: new pcie-controller model pcie-switch-downstream-port

2015-06-22 Thread Laine Stump
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

[libvirt] [PATCH 09/13] conf: new pci controller model pcie-switch-upstream-port

2015-06-22 Thread Laine Stump
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

[libvirt] [PATCH 11/13] qemu: add capabilities bit for device xio3130-downstream

2015-06-22 Thread Laine Stump
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 +

[libvirt] [PATCH 08/13] qemu: add capabilities bit for device x3130-upstream

2015-06-22 Thread Laine Stump
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

[libvirt] [PATCH 02/13] qemu: always permit PCI devices to be manually assigned to a PCIe bus

2015-06-22 Thread Laine Stump
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

[libvirt] [PATCH 10/13] qemu: support new pci controller model pcie-switch-upstream-port

2015-06-22 Thread Laine Stump
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

[libvirt] [PATCH 07/13] qemu: support new pci controller model pcie-root-port

2015-06-22 Thread Laine Stump
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(+)

[libvirt] [PATCH 13/13] qemu: support new pci controller model pcie-switch-downstream-port

2015-06-22 Thread Laine Stump
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

[libvirt] [PATCH 01/13] qemu: refactor qemuBuildControllerDevStr to eliminate future duplicate code

2015-06-22 Thread Laine Stump
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.

Re: [libvirt] [PATCHv1.5 1/2] cpu:x86: fix specified features will disappear after migrate/restore

2015-06-22 Thread lhuang
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

Re: [libvirt] [PATCHv3] qemu: add a check for slot and base when build dimm address

2015-06-22 Thread lhuang
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

Re: [libvirt] [PATCH 2/2] qemu: fix a document issue as we support host-passthrough with features

2015-06-22 Thread lhuang
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

Re: [libvirt] [PATCH] vz: Fix error messages in libvirt log caused by unhadled events

2015-06-22 Thread Mikhail Feoktistov
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

Re: [libvirt] [PATCH 4/4] parallels: implementation of attach/detach network devices

2015-06-22 Thread Dmitry Guryanov
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

[libvirt] Add hook for network update event

2015-06-22 Thread kay
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

[libvirt] [PATCH 2/2] Explicitly format the isa-fdc controller for newer q35 machines

2015-06-22 Thread Ján Tomko
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

Re: [libvirt] Add hook for network update event

2015-06-22 Thread Michal Privoznik
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

Re: [libvirt] [PATCH] vz: Fix error messages in libvirt log caused by unhadled events

2015-06-22 Thread Nikolay Shirokovskiy
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

Re: [libvirt] [PATCH] vz: Fix error messages in libvirt log caused by unhadled events

2015-06-22 Thread 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 guess it fixes some problem, so more

Re: [libvirt] [PATCH] vz: Fix error messages in libvirt log caused by unhadled events

2015-06-22 Thread Maxim Nestratov
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

Re: [libvirt] [PATCH 3/3] qemu: simplify json parsing

2015-06-22 Thread Eric Blake
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

[libvirt] [PATCH 0/2] Handle isa-fdc removal from new q35 machine types

2015-06-22 Thread Ján Tomko
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

[libvirt] [PATCH 1/2] Separate isa-fdc options generation

2015-06-22 Thread Ján Tomko
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

Re: [libvirt] [[PATCH v6] autocreate tap device for VIR_DOMAIN_NET_TYPE_ETHERNET] autocreate tap device for VIR_DOMAIN_NET_TYPE_ETHERNET

2015-06-22 Thread Michal Privoznik
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.

[libvirt] lxc: setsid() usage

2015-06-22 Thread Richard Weinberger
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