- 29 6月, 2020 1 次提交
-
-
由 Michal Privoznik 提交于
If initializing test monitor in testQemuHotplugCpuPrepare() fails, the control jumps to error label where testQemuHotplugCpuDataFree() is called. But since the data->mon is NULL due to aforementioned failure, qemuMonitorTestGetMonitor() dereferences a NULL pointer leading to a SIGSEGV. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NAndrea Bolognani <abologna@redhat.com>
-
- 27 6月, 2020 7 次提交
-
-
由 Daniel Henrique Barboza 提交于
Commit 07659100 ("conf: fix zPCI address auto-generation on s390") is doing a check for virZPCIDeviceAddressIsIncomplete() prior to checking if the device has a ZPCI address at all. This results in errors like these when starting libvirt: error : virDomainDeviceInfoFormat:7527 : internal error: Missing uid or fid attribute of zPCI address Fix it by moving virZPCIDeviceAddressIsIncomplete() after the check done by virZPCIDeviceAddressIsPresent(). Fixes: 07659100Signed-off-by: NDaniel Henrique Barboza <danielhb413@gmail.com> Reviewed-by: NAndrea Bolognani <abologna@redhat.com>
-
Signed-off-by: NShalini Chellathurai Saroja <shalini@linux.ibm.com> Reviewed-by: NAndrea Bolognani <abologna@redhat.com>
-
Add test with a ZPCI host device and a CCW memballoon device to ensure that CCW address remains the default address assigned. Signed-off-by: NBoris Fiuczynski <fiuczy@linux.ibm.com> Signed-off-by: NShalini Chellathurai Saroja <shalini@linux.ibm.com> Reviewed-by: NBjoern Walk <bwalk@linux.ibm.com> Reviewed-by: NBoris Fiuczynski <fiuczy@linux.ibm.com> Reviewed-by: NAndrea Bolognani <abologna@redhat.com>
-
1. Test for auto-generating uids while specifying valid fids 2. Test for auto-generating fids while specifying valid uids 3. Test for parse error while specifying a valid fid and an invalid uid 4. Test for parse error while specifying two ZPCI devices with same uid and fid addresses 5. Test for parse error when both uid and fid are set to zero 6. Test for error while specifying uid and not providing ZPCI capability. Signed-off-by: NBoris Fiuczynski <fiuczy@linux.ibm.com> Signed-off-by: NBjoern Walk <bwalk@linux.ibm.com> Signed-off-by: NShalini Chellathurai Saroja <shalini@linux.ibm.com> Reviewed-by: NBjoern Walk <bwalk@linux.ibm.com> Reviewed-by: NBoris Fiuczynski <fiuczy@linux.ibm.com> Reviewed-by: NAndrea Bolognani <abologna@redhat.com>
-
The ZPCI device validation is specific to qemu. So, let us move the ZPCI uid validation out of domain xml parsing into qemu domain device validation. Signed-off-by: NShalini Chellathurai Saroja <shalini@linux.ibm.com> Reviewed-by: NBjoern Walk <bwalk@linux.ibm.com> Reviewed-by: NBoris Fiuczynski <fiuczy@linux.ibm.com> Reviewed-by: NAndrea Bolognani <abologna@redhat.com>
-
Let us fix the issues with zPCI address validation and auto-generation on s390. Currently, there are two issues with handling the ZPCI address extension. Firstly, when the uid is to be auto-generated with a specified fid, .i.e.: ... <address type='pci'> <zpci fid='0x0000001f'/> </address> ... we expect uid='0x0001' (or the next available uid for the domain). However, we get a parsing error: $ virsh define zpci.xml error: XML error: Invalid PCI address uid='0x0000', must be > 0x0000 and <= 0xffff Secondly, when the uid is specified explicitly with the invalid numerical value '0x0000', we actually expect the parsing error above. However, the domain is being defined and the uid value is silently changed to a valid value. The first issue is a bug and the second one is undesired behaviour, and both issues are related to how we (in-band) signal invalid values for uid and fid. So let's fix the XML parsing to do validation based on what is actually specified in the XML. The first issue is also related to the current code behaviour, which is, if either uid or fid is specified by the user, it is incorrectly assumed that both uid and fid are specified. This bug is fixed by identifying when the user specified ZPCI address is incomplete and auto-generating the missing ZPCI address. Signed-off-by: NBjoern Walk <bwalk@linux.ibm.com> Signed-off-by: NBoris Fiuczynski <fiuczy@linux.ibm.com> Signed-off-by: NShalini Chellathurai Saroja <shalini@linux.ibm.com> Reviewed-by: NAndrea Bolognani <abologna@redhat.com>
-
Signed-off-by: NBjoern Walk <bwalk@linux.ibm.com> Signed-off-by: NShalini Chellathurai Saroja <shalini@linux.ibm.com> Reviewed-by: NBoris Fiuczynski <fiuczy@linux.ibm.com> Reviewed-by: NAndrea Bolognani <abologna@redhat.com>
-
- 26 6月, 2020 20 次提交
-
-
由 Daniel P. Berrangé 提交于
Refer to the notion of mount propagation instead which describes the actual behaviour more clearly. Reviewed-by: NPeter Krempa <pkrempa@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
Jenkins replaced use of the term 'slave' with 'agent' when describing its architecture. Reviewed-by: NPeter Krempa <pkrempa@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
The wiki page we currently link to is just a redirect for back compat. Reviewed-by: NPeter Krempa <pkrempa@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
The two sides of a PTY can be referred to as primary and secondary TTYs. Reviewed-by: NPeter Krempa <pkrempa@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
When querying QEMU we have to iterate over two nested sets of CPUs. The terms "main vcpu" and "sub vcpu" are a good representation. Reviewed-by: NPeter Krempa <pkrempa@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
The two sides of a PTY can be referred to as primary and secondary TTYs. Reviewed-by: NPeter Krempa <pkrempa@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
Network interfaces are simply attached to a bridge device. Reviewed-by: NPeter Krempa <pkrempa@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
Network interfaces are simply attached to a bridge device. Reviewed-by: NPeter Krempa <pkrempa@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
The term "ignored" is a better choice for the filtering performed on devices from udev. Reviewed-by: NPeter Krempa <pkrempa@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
This new naming matches the terminology used in the error messages that the callers report. Reviewed-by: NPeter Krempa <pkrempa@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
The term is redundant in the context used. Reviewed-by: NPeter Krempa <pkrempa@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
When listing CPU models, we need to filter the data based on sets of permitted and forbidden CPU models. Reviewed-by: NPeter Krempa <pkrempa@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
The term "access control list" better describes the concept involved. Reviewed-by: NPeter Krempa <pkrempa@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
The term "access control list" better describes the concept involved. Reviewed-by: NPeter Krempa <pkrempa@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
The term "access control list" better describes the concept involved. Reviewed-by: NPeter Krempa <pkrempa@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Daniel P. Berrangé 提交于
The term "permitted list" is a better choice for the filtering logic applied. Reviewed-by: NPeter Krempa <pkrempa@redhat.com> Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Jonathon Jongsma 提交于
CentOS does not have the cppi package, so some code style checks are skipped. Switch to a openSUSE image to do the code style checks. Signed-off-by: NJonathon Jongsma <jjongsma@redhat.com> Reviewed-by: NAndrea Bolognani <abologna@redhat.com> Reviewed-by: NErik Skultety <eskultet@redhat.com>
-
由 Michal Privoznik 提交于
When parsing domain XML post parse callbacks are run and one of them might try and call API from a non-hypervisor driver (e.g. just like qemuDomainDeviceNetDefPostParse() is doing - it calls a network API). To avoid this in the test suite, set dummy drivers, which renders all non-hypervisor APIs return error. This mimics what qemuxml2argvtest does. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
-
由 Jonathon Jongsma 提交于
When using the DO_TEST_PARSE_ERROR() macro, a failure to parse the input file is considered a successful test. However, if the input file is totally missing, that should be distinguished from a parsing error and not be treated as a test success. The function virDomainDefParseFile() simply returns NULL for any parse failure, including a missing file. So we need to explicitly check whether the file exists first, and fail the test if it is missing. Signed-off-by: NJonathon Jongsma <jjongsma@redhat.com>
-
由 Jonathon Jongsma 提交于
Although a ramfb video device is not a PCI device, we don't currently report an error for ramfb device definitions containing a PCI address. However, a guest configured with such a device will fail to start: # virsh start test1 error: Failed to start domain test1 error: internal error: qemu unexpectedly closed the monitor: 2020-06-16T05:23:02.759221Z qemu-kvm: -device ramfb,id=video0,bus=pcie.0,addr=0x1: Device 'ramfb' can't go on PCIE bus A better approach is to reject any device definitions that contain PCI addresses. While this is a change in behavior, any existing configurations were non-functional. https://bugzilla.redhat.com/show_bug.cgi?id=1847259Signed-off-by: NJonathon Jongsma <jjongsma@redhat.com>
-
- 25 6月, 2020 12 次提交
-
-
由 Michal Privoznik 提交于
A few commits back (in v6.4.0-131-gbdb8f2e4) the post parse function for domain interface was changed so that it doesn't fill in model for hostdev types of interfaces (including network type interfaces which would end up hostdevs). While the idea is sound, the execution can be a bit better: virDomainNetResolveActualType() which is used to determine runtime type of given interface is heavy gun - it connects to network driver, fetches network XML, parses it. This all is followed by check whether the interface doesn't already have model set (from domain XML). If we switch the order of these two checks then the short circuit evaluation will ensure the expensive check is done only if really needed. This commit in fact fixes qemuxml2xmltest which due to lacking fake network driver tries to connect to network:///session and start the virtnetworkd. Fortunately, because of v6.3.0-25-gf28fbb05 it fails to do so and virDomainNetResolveActualType() returns -1. The only reason we don't see the test failing is because our input XMLs have model and thus we are saved by the latter (now former) check. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NLaine Stump <laine@redhat.com>
-
由 Andrea Bolognani 提交于
All targets get pip3, which is now part of the base system, and the number of native packages included in the MinGW containers is significantly reduced. The corresponding libvirt-ci commit is 4ff697ba0b5d. Signed-off-by: NAndrea Bolognani <abologna@redhat.com>
-
由 Peter Krempa 提交于
There were two upstream issues filed for the problem so it's worth mentioning. Signed-off-by: NPeter Krempa <pkrempa@redhat.com> Reviewed-by: NAndrea Bolognani <abologna@redhat.com>
-
由 Peter Krempa 提交于
oVirt does merge images out of libvirt in some cases. Add docs outlining how it's done from a high level. Signed-off-by: NPeter Krempa <pkrempa@redhat.com> Reviewed-by: NEric Blake <eblake@redhat.com>
-
由 Peter Krempa 提交于
Simplify the docs and reduce maintenance burden by just describing the algorithm by a pseudo-language. Users are encouraged to use libvirt anyways and projects such as oVirt which do some management of storage themselves are unlikely to use bash anyways. Signed-off-by: NPeter Krempa <pkrempa@redhat.com> Reviewed-by: NEric Blake <eblake@redhat.com>
-
由 Peter Krempa 提交于
Define what users should look for when wanting to manipulate bitmaps themselves. Later on a patch will turn the bash algorithms into pseudocode for simplicity. Signed-off-by: NPeter Krempa <pkrempa@redhat.com> Reviewed-by: NEric Blake <eblake@redhat.com>
-
由 Peter Krempa 提交于
Add a section that outlines usage of tools to handle bitmaps and introduce terms corresponding to the output of qemu-img to be used in further sections. With this we can simplify the section about checking bitmap health as we don't have to explain the qemu-img output but can refer to the newly defined terms. Signed-off-by: NPeter Krempa <pkrempa@redhat.com> Reviewed-by: NEric Blake <eblake@redhat.com>
-
由 Peter Krempa 提交于
Emphasize what needs to happen and also that creating a snapshot doesn't create the appropriate bitmaps. Also mention that granularity is kept. Signed-off-by: NPeter Krempa <pkrempa@redhat.com> Reviewed-by: NEric Blake <eblake@redhat.com>
-
由 Peter Krempa 提交于
Make it obvious what's meant by 'overlay' and 'backing image' for sake of extension of the document. Signed-off-by: NPeter Krempa <pkrempa@redhat.com> Reviewed-by: NEric Blake <eblake@redhat.com>
-
由 Laine Stump 提交于
Until recently, an <interface type='network'> would automatically be assigned model "rtl8139", which in turn would lead to the device being assigned a PCI address on a conventional PCI controller (i.e. a pcie-to-pci-bridge). If the network was a typical Linux host bridge-based network that used an emulated device, this would be appropriate, since the guest actually would get an emulated rtl8139 NIC, and that device is a conventional PCI device. However, if the network being used was a pool of hostdev devices, the guest would get an actual PCIe network device assigned from the host via VFIO; while the interface model in that case is irrelevant for the QEMU commandline to assign the device, the PCI address would have already been assigned prior to runtime, so the address assignment would be done based on the model='rtl8139' - a conventional PCI device. VFIO assignment of a PCIe device to a conventional PCI slot works, but we would rather have these devices in a PCIe slot. Since commit bdb8f2e4, if <interface type='network'> points to a etwork that is a pool of hostdev devices, the interface model will be _unset_ by default. This patch uses that information when deciding what type of slot to assign to the device: since all hostdev network interfaces are SR-IOV VFs, and *all* SR-IOV network cards are PCIe, it is safe to assume that the VFs are PCIe and we should assign then to a PCIe slot in the guest. Signed-off-by: NLaine Stump <laine@redhat.com> Reviewed-by: NAndrea Bolognani <abologna@redhat.com>
-
由 Prathamesh Chavan 提交于
All the domain job related APIs were present in `qemu_domain.c` along with the other domain APIs. In this patch, we move all the qemu domain job APIs into a separate file. Also, in this process, `qemuDomainTrackJob()`, `qemuDomainFreeJob()`, `qemuDomainInitJob()` and `qemuDomainObjSaveStatus()` were converted to a non-static funciton and exposed using `qemu_domain.h`. Signed-off-by: NPrathamesh Chavan <pc44800@gmail.com> Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Prathamesh Chavan 提交于
In functions `qemuDomainObjInitJob`, `qemuDomainObjResetJob`, `qemuDomainObjResetAgentJob`, `qemuDomainObjResetAsyncJob`, `qemuDomainObjFreeJob`, `qemuDomainJobAllowed`, `qemuDomainNestedJobAllowed` we avoid sending the complete qemuDomainObjPrivatePtr as parameter and instead just send qemuDomainJobObjPtr. This is done in a effort to separating the qemu-job APIs into a spearate file. Signed-off-by: NPrathamesh Chavan <pc44800@gmail.com> Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
-