- 17 2月, 2017 9 次提交
-
-
由 Michal Privoznik 提交于
After 7f1bdec5 our nodedev driver is capable of determining DRM devices (DRM stands for Direct Render Manager not Digital rights management). There is still one bit missing though: virConnectListAllNodeDevices() is capable of listing either all devices or just those with specified capability. Well, DRM capability is missing there. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Marc-André Lureau 提交于
Add a new attribute 'rendernode' to <gl> spice element. Give it to QEMU if qemu supports it (queued for 2.9). Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Marc-André Lureau 提交于
Add a new 'drm' capability for Direct Rendering Manager (DRM) devices, providing device type information. Teach the udev backend to populate those devices. Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com> Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Marc-André Lureau 提交于
This should have been added with c4a4603d (or 0bdefd9b). Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
-
由 Marc-André Lureau 提交于
Add new <devnode> top-level <device> element, that list the associated /dev files. Distinguish the main /dev name from symlinks with a 'type' attribute of value 'dev' or 'symlink'. Update a test to check XML schema, and actually add it to the test list since it was missing. Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
-
由 Marc-André Lureau 提交于
This is a cosmetic change, shouldn't change XML parsing, and doesn't break any test. Signed-off-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
-
由 John Ferlan 提交于
When the 'parent' was added to the virNodeDevicePtr structure by commit id 'e8a4ea75' the 'parent' field was not properly filled in when a virGetNodeDevice call was made within driver/config code. Only the device name was ever filled in. Fetching the parent required a second trip via virNodeDeviceGetParent into the node device lookup code was required in order to retrieve the specific parent field (and still the parent field was never filled in although it was free'd). Since we have the data when we initially call virGetNodeDevice from within driver/node_config code - let's just fill in the parent field as well for anyone that wants it without requiring another trip into the node_device lookup just to get the parent. This will allow API's such as virConnectListAllNodeDevices, virNodeDeviceLookupByName, and virNodeDeviceLookupSCSIHostByWWN to retrieve both name and parent in the returned virNodeDevicePtr. Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
-
由 Joao Martins 提交于
As discussed here [0][1] Coverity reported two issues: - On libxlDomainMigrationPrepareTunnel3 @@mig will be leaked on failures after sucessfull call libxlDomainMigrationPrepareAny hence we free it. Setting mig = NULL after @mig is assigned plus adding libxlMigrationCookieFree on error paths addresses the issue. In case virThreadCreate fails, unref of args frees the cookie on dispose function (libxlMigrationDstArgsDispose) - On libxlMigrationStartTunnel @tc would be leaked. Fixed by correctly saving the newly allocated @tc onto @tnl such that libxlMigrationStopTunnel would free it up. [0] https://www.redhat.com/archives/libvir-list/2017-February/msg00791.html [1] https://www.redhat.com/archives/libvir-list/2017-February/msg00833.htmlSigned-off-by: NJoao Martins <joao.m.martins@oracle.com>
-
由 Michal Privoznik 提交于
Before 9c17d665 (v1.3.2 - I know, right?) it was possible to have the following interface configuration: <interface type='ethernet'/> <script path=''/> </interface> This resulted in -netdev tap,script=,.. Fortunately, qemu helped us to get away with this as it just ignored the empty script path. However, after the commit mentioned above it's libvirtd who is executing the script. Unfortunately without special case-ing empty script path. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 16 2月, 2017 5 次提交
-
-
由 Nitesh Konkar 提交于
Currently disk names do not follow the (regex) /^[fhv]d[a-z]+[0-9]*$/ completely and hence one can assign disk names like vd2 etc. This patch ensures that the disk names follow the regex mentioned. This patch also adds a testcase. Signed-off-by: NNitesh Konkar <nitkon12@linux.vnet.ibm.com>
-
由 Jim Fehlig 提交于
Commit 4ab0c959 fixed a memory leak in libxlDriverGetDom0MaxmemConf but introduced a potential double free of mem_tokens *** Error in `/usr/sbin/libvirtd': double free or corruption (out): 0x00007fffc808cfd0 *** Avoid double free by setting mem_tokens to NULL after calling virStringListFree.
-
由 Bob Liu 提交于
Tunnelled migration doesn't require any extra network connections beside the libvirt daemon. It's capable of strong encryption and the default option of openstack-nova. This patch adds the tunnelled migration(Tunnel3params) support to libxl. On the source side, the data flow is: * libxlDoMigrateSend() -> pipe libxlTunnel3MigrationFunc() polls pipe * out and then write to dest stream. While on the destination side: * Stream -> pipe -> 'recvfd of libxlDomainStartRestore' The usage is the same as p2p migration, execpt adding one extra '--tunnelled' to the libvirt p2p migration command. Signed-off-by: NBob Liu <bob.liu@oracle.com> Signed-off-by: NJoao Martins <joao.m.martins@oracle.com>
-
由 Joao Martins 提交于
The newly introduced function libxlDomainMigrationPrepareAny will be shared between P2P and tunnelled variations. Signed-off-by: NJoao Martins <joao.m.martins@oracle.com>
- 15 2月, 2017 6 次提交
-
-
由 Michal Privoznik 提交于
This function is returning a boolean therefore check for '< 0' makes no sense. It should have been '!qemuDomainNamespaceAvailable'. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Michal Privoznik 提交于
The bare fact that mnt namespace is available is not enough for us to allow/enable qemu namespaces feature. There are other requirements: we must copy all the ACL & SELinux labels otherwise we might grant access that is administratively forbidden or vice versa. At the same time, the check for namespace prerequisites is moved from domain startup time to qemu.conf parser as it doesn't make much sense to allow users to start misconfigured libvirt just to find out they can't start a single domain. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Jim Fehlig 提交于
If the apparmor security driver is loaded/enabled and domain config contains a <seclabel> element whose type attribute is not 'apparmor', starting the domain fails when attempting to label resources such as tap FDs. Many of the apparmor driver entry points attempt to retrieve the apparmor security label from the domain def, returning failure if not found. Functions such as AppArmorSetFDLabel fail even though domain config contains an explicit 'none' secuirty driver, e.g. <seclabel type='none' model='none'/> Change the entry points to succeed if the domain config <seclabel> is not apparmor. This matches the behavior of the selinux driver.
-
由 Jim Fehlig 提交于
Like other callers of reload_profile, don't overwrite errors in AppArmorSetSecurityHostdevLabelHelper.
-
由 Jiri Denemark 提交于
Commit 2a8d40f4 refactored qemuMonitorJSONGetCPUx86Data and replaced virJSONValueObjectGet(reply, "return") with virJSONValueObjectGetArray. While the former is guaranteed to always return non-NULL pointer the latter may return NULL if the returned JSON object is not an array. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Andrea Bolognani 提交于
mknod() is affected my the current umask, so we're not guaranteed the newly-created device node will have the right permissions. Call chmod(), which is not affected by the current umask, immediately afterwards to solve the issue. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1421036
-
- 14 2月, 2017 1 次提交
-
-
由 Ján Tomko 提交于
To make sure bit 'b' fits into the bitmap, we need to allocate b+1 bits, since we number from 0. Adjust the bitmap test to set a bit at a multiple of 16. That way the test fails without this fix, because the VIR_REALLOC call clears the newly added memory even if the original pointer has not changed.
-
- 13 2月, 2017 4 次提交
-
-
由 Ján Tomko 提交于
This controller only allows up to 15 ports. https://bugzilla.redhat.com/show_bug.cgi?id=1375417
-
由 Ján Tomko 提交于
Move the range check introduced by commit 2650d5e1 into virDomainUSBAddressFindPort. That way both virDomainUSBAddressRelease and virDomainUSBAddressSetAddHub can benefit from it. Reported-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Ján Tomko 提交于
Due to a logic error, the autofilling of USB port when a bus is specified: <address type='usb' bus='0'/> does not work for non-hub devices on domain startup. Fix the logic in qemuDomainAssignUSBPortsIterator to also assign ports for USB addresses that do not yet have one. https://bugzilla.redhat.com/show_bug.cgi?id=1374128
-
由 Marc Hartmayer 提交于
We have to allocate first and if, and only if, it was successful we can set the count. A segfault has occurred in virNetServerServiceNewPostExecRestart() when VIR_ALLOC_N(svc->socks, n) has failed, but svc->nsocsk = n was already set. Thus virObejectUnref(svc) was called and therefore it was possible that virNetServerServiceDispose was called => segmentation fault. For safeness NULL pointer check were added in virNetServerServiceDispose(). Signed-off-by: NMarc Hartmayer <mhartmay@linux.vnet.ibm.com> Reviewed-by: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com> Reviewed-by: NBjoern Walk <bwalk@linux.vnet.ibm.com>
-
- 11 2月, 2017 6 次提交
-
-
由 Roman Bogorodskiy 提交于
Recently e1000 NIC support was added to bhyve; implement that in the bhyve driver: - Add capability check by analyzing output of the 'bhyve -s 0,e1000' command - Modify bhyveBuildNetArgStr() to support e1000 and also pass virConnectPtr so it could call bhyveDriverGetCaps() to check if this NIC is supported - Modify command parsing code to add support for e1000 and adjust tests - Add net-e1000 test
-
由 Nitesh Konkar 提交于
Signed-off-by: NNitesh Konkar <nitkon12@linux.vnet.ibm.com>
-
由 John Ferlan 提交于
If either the "if (STRPREFIX(mem_tokens[j], "max:"))" is never entered or the "if (virStrToLong_ull(mem_tokens[j] + 4, &p, 10, maxmem) < 0)" break is hit, control goes back to the outer loop processing 'cmd_tokens' and it's possible that the 'mem_tokens' would be overwritten. Found by Coverity
-
由 Erik Skultety 提交于
Right now, we use simple string comparison both on the source paths (mount's output vs pool's source) and the target (mount's mnt_dir vs pool's target). The problem are symlinks and mount indeed returns symlinks in its output, e.g. /dev/mappper/lvm_symlink. The same goes for the pool's source/target, so in order to successfully compare these two replace plain string comparison with virFileComparePaths which will resolve all symlinks and canonicalize the paths prior to comparison. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1417203Signed-off-by: NErik Skultety <eskultet@redhat.com>
-
由 Erik Skultety 提交于
So rather than comparing 2 paths (strings) as they are, which can very easily lead to unnecessary errors (e.g. in storage driver) that the paths are not the same when in fact they'd be e.g. just symlinks to the same location, we should put our best effort into resolving any symlinks and canonicalizing the path and only then compare the 2 paths for equality. Signed-off-by: NErik Skultety <eskultet@redhat.com>
-
由 Erik Skultety 提交于
When FS pool's source is already mounted on the target location instead of just simply marking the pool as active, thus starting it we fail with an error stating that the source is indeed already mounted on the target. Signed-off-by: NErik Skultety <eskultet@redhat.com>
-
- 10 2月, 2017 9 次提交
-
-
由 Boris Fiuczynski 提交于
On a system with 697 SCSI disks each configured with 8 paths the command virsh nodedev-list fails with error: Failed to list node devices error: internal error: Too many node_devices '16816' for limit '16384' Increasing the upper limit on lists of node devices from 16K to 64K. Signed-off-by: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com>
-
由 Nitesh Konkar 提交于
Although currently this is documented in virsh man page and virsh help, the expicit mention in the error message is helful for tools using the API directly. Signed-off-by: NNitesh Konkar <nitkon12@linux.vnet.ibm.com>
-
由 Michal Privoznik 提交于
==11846== 240 bytes in 1 blocks are definitely lost in loss record 81 of 107 ==11846== at 0x4C2BC75: calloc (vg_replace_malloc.c:624) ==11846== by 0x18C74242: virAllocN (viralloc.c:191) ==11846== by 0x4A05E8: qemuMonitorCPUModelInfoCopy (qemu_monitor.c:3677) ==11846== by 0x446E3C: virQEMUCapsNewCopy (qemu_capabilities.c:2171) ==11846== by 0x437335: testQemuCapsCopy (qemucapabilitiestest.c:108) ==11846== by 0x437CD2: virTestRun (testutils.c:180) ==11846== by 0x437AD8: mymain (qemucapabilitiestest.c:176) ==11846== by 0x4397B6: virTestMain (testutils.c:992) ==11846== by 0x437B44: main (qemucapabilitiestest.c:188) Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Nitesh Konkar 提交于
Signed-off-by: NNitesh Konkar <nitkon12@linux.vnet.ibm.com>
-
由 Marc Hartmayer 提交于
This commit removes the handcrafted code for remoteDomainCreateWithFlags() and lets it auto generate. A little bit of history repeating... Commit 03d813bb removed the auto generation of remoteDomainCreateWithFlags() because it was thought that the design flaw in the remote protocol for virDomainCreate is also within the remote protocol for virDomainCreateWithFlags. As the commit message of ddaf15d7 mentions this is not the case therefore we can auto generate the client part. Even worse there was a typo in remoteDomainCreateWithFlags() 'remote_domain_create_with_flags_args ret;' but in fact it has to be 'remote_domain_create_with_flags_ret ret;'. Signed-off-by: NMarc Hartmayer <mhartmay@linux.vnet.ibm.com> Reviewed-by: NBjoern Walk <bwalk@linux.vnet.ibm.com> Reviewed-by: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com>
-
由 Marc Hartmayer 提交于
After freeing the data structures we have to reset the counters to zero. This fixes a segmentation fault when virNetDevIPInfoClear is called twice (e.g. this is possible in virDomainNetDefParseXML() if virDomainNetIPInfoParseXML(...) fails with ret < 0 (this leads to the first call of 'virNetDevIPInfoClear(&def->guestIP)') and the resulting call of virDomainNetDefFree(def) in the error path of virDomainNetDefParseXML() (this leads to the second call of virNetDevIPInfoClear(&def->guestIP), and finally to the segmentation fault). Signed-off-by: NMarc Hartmayer <mhartmay@linux.vnet.ibm.com> Reviewed-by: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com> Reviewed-by: NBjoern Walk <bwalk@linux.vnet.ibm.com>
-
由 Marc Hartmayer 提交于
If virDomainChrSourceDefNew(xmlopt) fails, it will lead to free()ing the uninitialized pointer bus. The fix for this is to initialize bus with NULL. Signed-off-by: NMarc Hartmayer <mhartmay@linux.vnet.ibm.com> Reviewed-by: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com> Reviewed-by: NBjoern Walk <bwalk@linux.vnet.ibm.com>
-
由 Marc Hartmayer 提交于
Check if virQEMUCapsNewCopy(...) has failed, thus a segmentation fault in virQEMUCapsFilterByMachineType(...) will be avoided. Signed-off-by: NMarc Hartmayer <mhartmay@linux.vnet.ibm.com> Reviewed-by: NBjoern Walk <bwalk@linux.vnet.ibm.com>
-
由 David Dai 提交于
Using libvirt to do live migration over RDMA via IPv6 address failed. For example: rhel73_host1_guest1 qemu+ssh://[deba::2222]/system --verbose root@deba::2222's password: error: internal error: unable to execute QEMU command 'migrate': RDMA ERROR: could not rdma_getaddrinfo address deba As we can see, the IPv6 address used by rdma_getaddrinfo() has only "deba" part because we didn't properly enclose the IPv6 address in [] and passed rdma:deba::2222:49152 as the migration URI in qemuMonitorMigrateToHost. Signed-off-by: NDavid Dai <zdai@linux.vnet.ibm.com>
-