- 26 6月, 2017 1 次提交
-
-
由 Andrea Bolognani 提交于
For the benefit of first time contributors, we point out that 'git send-email' might have to be installed separately; however, we omit the fact that some configuration will likely be needed before it can successfully deliver patches to the mailing list. Some minor tweaks to the existing contents are included as well. Signed-off-by: NAndrea Bolognani <abologna@redhat.com> Reviewed-by: NJohn Ferlan <jferlan@redhat.com>
-
- 25 6月, 2017 3 次提交
-
-
由 Michal Privoznik 提交于
Since qemu commit 3ef6c40ad0b it can fail if trying to hotplug a disk that is not qcow2 despite us saying it is. We need to error out in that case. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NJohn Ferlan <jferlan@redhat.com>
-
由 John Ferlan 提交于
If a remote call fails during event registration (more than likely from a network failure or remote libvirtd restart timed just right), then when calling the virObjectEventStateDeregisterID we don't want to call the registered @freecb function because that breaks our contract that we would only call it after succesfully returning. If the @freecb routine were called, it could result in a double free from properly coded applications that free their opaque data on failure to register, as seen in the following details: Program terminated with signal 6, Aborted. #0 0x00007fc45cba15d7 in raise #1 0x00007fc45cba2cc8 in abort #2 0x00007fc45cbe12f7 in __libc_message #3 0x00007fc45cbe86d3 in _int_free #4 0x00007fc45d8d292c in PyDict_Fini #5 0x00007fc45d94f46a in Py_Finalize #6 0x00007fc45d960735 in Py_Main #7 0x00007fc45cb8daf5 in __libc_start_main #8 0x0000000000400721 in _start The double dereference of 'pyobj_cbData' is triggered in the following way: (1) libvirt_virConnectDomainEventRegisterAny is invoked. (2) the event is successfully added to the event callback list (virDomainEventStateRegisterClient in remoteConnectDomainEventRegisterAny returns 1 which means ok). (3) when function remoteConnectDomainEventRegisterAny is hit, network connection disconnected coincidently (or libvirtd is restarted) in the context of function 'call' then the connection is lost and the function 'call' failed, the branch virObjectEventStateDeregisterID is therefore taken. (4) 'pyobj_conn' is dereferenced the 1st time in libvirt_virConnectDomainEventFreeFunc. (5) 'pyobj_cbData' (refered to pyobj_conn) is dereferenced the 2nd time in libvirt_virConnectDomainEventRegisterAny. (6) the double free error is triggered. Resolve this by adding a @doFreeCb boolean in order to avoid calling the freeCb in virObjectEventStateDeregisterID for any remote call failure in a remoteConnect*EventRegister* API. For remoteConnect*EventDeregister* calls, the passed value would be true indicating they should run the freecb if it exists; whereas, it's false for the remote call failure path. Patch based on the investigation and initial patch posted by fangying <fangying1@huawei.com>.
-
由 Christoffer Dall 提交于
The function to check if -chardev is supported by QEMU was written a long time ago, where adding chardevs did not make sense on the fixed ARM platforms. Since then, we now have a general purpose virt platform, which should support plugging in any device over PCIe which is supported in a similar fashion on x86. Signed-off-by: NChristoffer Dall <cdall@linaro.org> Reviewed-by: NAndrea Bolognani <abologna@redhat.com>
-
- 24 6月, 2017 2 次提交
-
-
由 Daniel Liu 提交于
The option allows someone to run domain-to-native on already existing domain without the need of supplying their XML. It is basically wrapper around 'virsh dumpxml | virsh domxml-to-native /dev/stdin'. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=835476Signed-off-by: NDaniel Liu <srwx4096@gmail.com> Reviewed-by: NMartin Kletzander <mkletzan@redhat.com> Reviewed-by: NJohn Ferlan <jferlan@redhat.com>
-
由 John Ferlan 提交于
https://bugzilla.redhat.com/show_bug.cgi?id=1371892 As it turns out the volume create, build, and refresh path was not peeking at the meta data, so immediately after a create operation the value displayed for capacity was still incorrect. However, if a pool refresh was done the correct value was fetched as a result of a meta data peek. The reason is it seems historically if the file type is RAW then peeking at the file just took the physical value for the capacity. However, since we know if it's an encrypted file, then peeking at the meta data will be required in order to get a true capacity value. So check for encryption in the source and if present, use the meta data in order to fill in the capacity value and set the payload_offset.
-
- 23 6月, 2017 3 次提交
-
-
由 Peter Krempa 提交于
-
由 Peter Krempa 提交于
Similarly to commit 5da28cc3 this check actually does not make sense since duplicate WWNs are used e.g. when multipathing disks. This reverts commit 780fe4e4.
-
由 Michal Privoznik 提交于
https://bugzilla.redhat.com/show_bug.cgi?id=1461270 When fetching stats for a vhost-user type of interface, we run couple of ovs-vsctl commands and parse their output. However, not all stats exist at all times, for instance "rx_dropped" or "tx_errors" can be missing. Thing is, we ask for a bulk of statistics and if one of them is missing an error is reported instead of returning the rest. Since we ignore errors, we fail to set statistics. Fix this by asking for each piece alone. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
- 22 6月, 2017 7 次提交
-
-
由 John Ferlan 提交于
Split out the object fetch in virObject{Lock|Unlock} into a helper Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
-
由 John Ferlan 提交于
Alter to use more recent formatting guidelines Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
-
由 Martin Kletzander 提交于
Commit 5c54d29a forgot to do that when moving the only function using it and it broke the build on some platforms. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Michal Privoznik 提交于
Our commit e13e8808 was way too generic. Currently, virtlogd is used only for chardevs type of file and nothing else. True, we must not relabel the path in this case, but we have to in all other cases. For instance, if you want to have a physical console attached to your guest: <console type='dev'> <source path='/dev/ttyS0'/> <target type='virtio' port='1'/> </console> Starting such domain fails because qemu doesn't have access to /dev/ttyS0 because we haven't relabelled the path. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NJohn Ferlan <jferlan@redhat.com>
-
由 Julio Faracco 提交于
This commit fixes a locale problem with locales that use comma as a mantissa separator. Example: 12.34 en_US = 12,34 pt_BR. Since strtod() is a non-safe function, virStrToDouble() will have problems to parse double numbers from kernel settings and other double numbers from static files (XMLs, JSONs, etc). Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1457634 Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1457481Signed-off-by: NJulio Faracco <jcfaracco@gmail.com>
-
由 Julio Faracco 提交于
The function virDoubleToStr() is defined in virutil.* and virStrToDouble() is defined in virstring.*. Joining both functions into the same file makes more sense. Signed-off-by: NJulio Faracco <jcfaracco@gmail.com>
-
由 Cole Robinson 提交于
Recently added JSON tests should be skipped if compiled --without-yajl https://bugzilla.redhat.com/show_bug.cgi?id=1463435
-
- 21 6月, 2017 4 次提交
-
-
由 Jiri Denemark 提交于
Even though we got both the original CPU (used for starting a domain) and the updated version (the CPU really provided by QEMU) during incoming migration, restore, or snapshot revert, we still need to update the CPU according to the data we got from the freshly started QEMU. Otherwise we don't know whether the CPU we got from QEMU matches the one before migration. We just need to keep the original CPU in priv->origCPU. Messed up by me in v3.4.0-58-g8e34f478. Signed-off-by: NJiri Denemark <jdenemar@redhat.com> Reviewed-by: NPavel Hrdina <phrdina@redhat.com>
-
由 Michal Privoznik 提交于
This function is called unconditionally from qemuProcessStop to make sure we leave no dangling dirs behind. However, whenever the directory we want to rmdir() is not there (e.g. because it hasn't been created in the first place because domain doesn't use hugepages at all), we produce a warning like this: 2017-06-20 15:58:23.615+0000: 32638: warning : qemuProcessBuildDestroyHugepagesPath:3363 : Unable to remove hugepage path: /dev/hugepages/libvirt/qemu/1-instance-00000001 (errno=2) Fix this by not producing the warning on ENOENT. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com> Reviewed-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Martin Kletzander 提交于
Part of the condition was reverted so no value update was propagated through. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1414627Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Peter Krempa 提交于
Similarly to how we specify the groups of 5 capabilities in the header file move the labels to separate line also for the VIR_ENUM_IMPL part. This simplifies rebase conflict resolution in the capability file since only lines have to be shuffled around, but they don't need to be edited.
-
- 20 6月, 2017 20 次提交
-
-
由 Peter Krempa 提交于
Some callers don't need to know the backing format. Make the argument optional by using a dummy int if NULL is passed.
-
由 Peter Krempa 提交于
Commit 7456c4f5 introduced a regression by not reloading the backing chain of a disk after snapshot. The regression was caused as src->relPath was not set and thus the block commit code could not determine the relative path. This patch adds code that will load the backing store string if VIR_DOMAIN_SNAPSHOT_CREATE_REUSE_EXT and store it in the correct place when a snapshot is successfully completed. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1461303
-
由 Peter Krempa 提交于
It is necessary for some parts of the code to refresh just data based on the based on the backing store string. Add a convenience function that will retrieve this data.
-
由 Peter Krempa 提交于
-
由 Peter Krempa 提交于
Calls to qemuDomainDiskChainElementPrepare resets the original error, thus we need to save it in the cleanup path of qemuDomainBlockCommit.
-
由 Peter Krempa 提交于
Changing labelling of the images does not need to happen after setting the labeling and lock manager access. This saves the cleanup of the labeling if the relative path can't be determined.
-
由 Farhan Ali 提交于
Signed-off-by: NFarhan Ali <alifm@linux.vnet.ibm.com>
-
由 Farhan Ali 提交于
Check for the LOADPARM capabilility and potentially add a loadparm=x to the "-machine" string for the QEMU command line. Also add xml2argv test cases for loadparm. Signed-off-by: NFarhan Ali <alifm@linux.vnet.ibm.com> Reviewed-by: NBjoern Walk <bwalk@linux.vnet.ibm.com> Reviewed-by: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com> Reviewed-by: NMarc Hartmayer <mhartmay@linux.vnet.ibm.com>
-
由 Farhan Ali 提交于
Add new capability for the "-machine loadparm" QEMU option. Add the capabilities replies/xml for s390x for QEMU 2.9.50. Signed-off-by: NFarhan Ali <alifm@linux.vnet.ibm.com>
-
由 Farhan Ali 提交于
Update the per device boot schema to add an optional loadparm parameter. eg: <boot order='1' loadparm='2'/> Extend the virDomainDeviceInfo to support loadparm option. Modify the appropriate functions to parse loadparm from boot device xml. Add the xml2xml test to validate the field. Signed-off-by: NFarhan Ali <alifm@linux.vnet.ibm.com> Reviewed-by: NBjoern Walk <bwalk@linux.vnet.ibm.com> Reviewed-by: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com> Reviewed-by: NMarc Hartmayer <mhartmay@linux.vnet.ibm.com>
-
由 Ján Tomko 提交于
Only qemuBuildFSDevStr missed the return check.
-
由 Peter Krempa 提交于
Since qemu 2.9 the options changed from a monolithic string into fine grained options for the json pseudo-protocol object.
-
由 Peter Krempa 提交于
Since qemu 2.9 the options changed from a monolithic string into fine grained options for the json pseudo-protocol object.
-
由 Peter Krempa 提交于
Since qemu 2.9 the options changed from a monolithic string into fine grained options for the json pseudo-protocol object.
-
由 Peter Krempa 提交于
Since 2.9 the host and port for NBD are no longer directly under the json pseudo-protocol object, but rather belong to a sub-object called 'server'.
-
由 Peter Krempa 提交于
Starting from qemu 2.9, more granular options are supported. Add parser for the relevant bits. With this patch libvirt is able to parse the host and target IQN of from the JSON pseudo-protocol specification. This corresponds to BlockdevOptionsIscsi in qemu qapi.
-
由 Peter Krempa 提交于
Merge the reporting of the missing source host data into the parser functions so that callers don't have to do it separately.
-
由 Peter Krempa 提交于
Few backing protocols support only TCP. Split out the function which will correspond to parsing qemu's InetSocketAddressBase.
-
由 Peter Krempa 提交于
'SocketAddress' structure was changed to contain 'inet' instead of 'tcp' since qemu commit c5f1ae3ae7b. Existing entries have a backward compatibility layer. Libvirt will parse 'inet' and 'tcp' as equivalents.
-
由 Andrea Bolognani 提交于
It was added in commit 6c2e4c38 so that Coverity would not complain about passing -1 to qemuDomainDetachThisHostDevice(), but the function in question has changed since and so the annotation doesn't apply anymore. Signed-off-by: NAndrea Bolognani <abologna@redhat.com> Reviewed-by: NPavel Hrdina <phrdina@redhat.com>
-