- 11 10月, 2012 15 次提交
-
-
由 Peter Krempa 提交于
The comment stated that you may call qemuDomainObjBeginJobWithDriver without passing qemud_driver to signal it's not locked. qemuDomainObjBeginJobWithDriver still accesses the qemud_driver structure and the lock singaling is done through a separate parameter.
-
由 Jiri Denemark 提交于
Save/restore with passed through USB devices currently only works if the USB device can be found at the same USB address where it used to be before saving a domain. This makes sense in case a user explicitly configure the USB address in domain XML. However, if the device was found automatically by vendor/product identification, we should try to search for that device when restoring the domain and use any device we find as long as there is only one available. In other words, the USB device can now be removed and plugged again or the host can be rebooted between saving and restoring the domain.
-
由 Jiri Denemark 提交于
Using VIR_DOMAIN_XML_MIGRATABLE flag, one can request domain's XML configuration that is suitable for migration or save/restore. Such XML may contain extra run-time stuff internal to libvirt and some default configuration may be removed for better compatibility of the XML with older libvirt releases. This flag may serve as an easy way to get the XML that can be passed (after desired modifications) to APIs that accept custom XMLs, such as virDomainMigrate{,ToURI}2 or virDomainSaveFlags.
-
由 Jiri Denemark 提交于
-
由 Jiri Denemark 提交于
All USB device lookup functions emit an error when they cannot find the requested device. With this patch, their caller can choose if a missing device is an error or normal condition.
-
由 Jiri Denemark 提交于
The code which looks up a USB device specified by hostdev is duplicated in two places. This patch creates a dedicated function that can be called in both places.
-
由 Jiri Denemark 提交于
USB devices can disappear without OS being mad about it, which makes them ideal for startupPolicy. With this attribute, USB devices can be configured to be mandatory (the default), requisite (will disappear during migration if they cannot be found), or completely optional.
-
由 Jiri Denemark 提交于
While the changes to sanlock driver should be stable, the actual implementation of sanlock_helper is supposed to be replaced in the future. However, before we can implement a better sanlock_helper, we need an administrative interface to libvirtd so that the helper can just pass a "leases lost" event to the particular libvirt driver and everything else will be taken care of internally. This approach will also allow libvirt to pass such event to applications and use appropriate reasons when changing domain states. The temporary implementation handles all actions directly by calling appropriate libvirt APIs (which among other things means that it needs to know the credentials required to connect to libvirtd).
-
由 Jiri Denemark 提交于
-
由 Jiri Denemark 提交于
This is required in case a lock manager needs to contact libvirtd in case of an unexpected event.
-
由 Jiri Denemark 提交于
-
由 Jiri Denemark 提交于
Using this new element, one can configure an action that should be performed when resource locks are lost.
-
由 Jiri Denemark 提交于
While current on_{poweroff,reboot,crash} action configuration is about configuring life cycle actions, they can all be considered events and actions that need to be done on a particular event. Let's generalize the code by renaming life cycle actions to event actions so that it can be reused later for non-lifecycle events.
-
由 Zeeshan Ali (Khattak) 提交于
-
由 Cole Robinson 提交于
Done with: sed -i -e "s/no pool with matching uuid/no storage pool with matching uuid/g" src/storage/storage_driver.c sed -i -e 's/"%s", _("no storage pool with matching uuid")/_("no storage pool with matching uuid %s"), obj->uuid/g' src/storage/storage_driver.c sed -i -e 's/"%s", _("storage pool is not active")/_("storage pool '%s' is not active"), pool->def->name/g' src/storage/storage_driver.c And a couple fixups before, during, and after, and a manual inspection pass to make sure nothing was wonky.
-
- 10 10月, 2012 4 次提交
-
-
由 Daniel P. Berrange 提交于
When adding variants of parameter setting APIs which accepted flags, the existing APIs were all adapted internally to pass VIR_DOMAIN_AFFECT_CURRENT to the new API. The QEMU impl qemuSetSchedularParameters was an exception, which instead used VIR_DOMAIN_AFFECT_LIVE. Change this to match other compatibility scenarios, so that calling virDomainSetSchedularParameters(dom, params, nparams); Has the same semantics as virDomainSetSchedularParametersFlags(dom, params, nparams, 0); And virDomainSetSchedularParametersFlags(dom, params, nparams, VIR_DOMAIN_AFFECT_CURRENT); Signed-off-by: NDaniel P. Berrange <berrange@redhat.com>
-
由 Matthias Bolte 提交于
Currently virNetSocketNew fails because virSetCloseExec fails as there is no proper implementation for it on Windows at the moment. Workaround this by pretending that setting close-on-exec on the fd works. This can be done because libvirt currently lacks the ability to create child processes on Windows anyway. So there is no point in failing to set a flag that isn't useful at the moment anyway.
-
由 Matthias Bolte 提交于
Traverse the whole inheritance hierarchy for dynamic dispatch as it is already done for the dynamic cast. Also make AnyType cast errors more verbose. Reported by Ata Bohra.
-
由 Doug Goldstein 提交于
Add support to check if a specific interface is active by supporting the following API function in the udev based virInterface backend: * virConnectInterfaceIsActive()
-
- 09 10月, 2012 14 次提交
-
-
由 Doug Goldstein 提交于
Always build all available backends to avoid bit-rot. At run time we select the correct backend and load it by attempting netcf first and then udev.
-
由 Doug Goldstein 提交于
All other backends for virInterface or other HVs implementations of virInterface list their own names for the name instead of the generic 'Interface' value. This does the same for the netcf based backend. Also, report any errors during registration.
-
由 Doug Goldstein 提交于
Add a read-only udev based backend for virInterface. Useful for distros that do not have netcf support yet. Multiple libvirt based utilities use a HAL based fallback when virInterface is not available which is less than ideal. This implements: * virConnectNumOfInterfaces() * virConnectListInterfaces() * virConnectNumOfDefinedInterfaces() * virConnectListDefinedInterfaces() * virConnectListAllInterfaces() * virConnectInterfaceLookupByName() * virConnectInterfaceLookupByMACString()
-
由 Eric Blake 提交于
The code was reporting raw exit status without decoding it into normal vs. signal exit. virCommandRun already does this, but with a different error type, so all we have to do is recast the error to the correct type. Reported by li guang. * src/util/hooks.c (virHookCall): Simplify.
-
由 Marcelo Cerri 提交于
As a side effect of changes in the functions virGetUserID and virGetGroupID, the user and group configurations for DAC in qemu.conf are now able to accept both names and IDs, supporting a leading plus sign to ensure that a numeric value will not be interpreted as a name. This patch updates the comments in qemu.conf, including a description of this new behavior.
-
由 Michal Privoznik 提交于
-
由 Michal Privoznik 提交于
With our latest s/[a-z]+ReportError/virReportError/ rewrite (47ab34e2) we forgot to update arm part of the code.
-
由 Jiri Denemark 提交于
With the recent introduction of QMP capabilities probing, libvirt failed to detect support for QXL graphics in QEMU 1.2 and newer. In addition to fixing that, this patch also causes libvirt to detect QXL support for qemu-kvm-0.13.0, which doesn't advertise it in -help output but mentions it in device list. Since qemu-kvm-0.13.0 supported -spice, it looks like not having qxl in -help was a bug.
-
由 Eric Blake 提交于
I was using qemu-monitor-command during development, and found it quite hard to use. Compare the results of this patch on ease of reading: $ virsh qemu-monitor-command dom '{"execute":"query-version"}' {"return":{"qemu":{"micro":1,"minor":12,"major":0},"package":"(qemu-kvm-0.12.1.2)"},"id":"libvirt-7683"} $ virsh qemu-monitor-command --pretty dom '{"execute":"query-version"}' { "return": { "qemu": { "micro": 1, "minor": 12, "major": 0 }, "package": "(qemu-kvm-0.12.1.2)" }, "id": "libvirt-7674" } * tools/virsh-host.c (cmdQemuMonitorCommand): New option. * tools/virsh.pod (qemu-monitor-command): Document it.
-
由 Marcelo Cerri 提交于
The functions virGetUserID and virGetGroupID are now able to parse user/group names and IDs in a similar way to coreutils' chown. So, user and group parsing in security_dac can be simplified.
-
由 Marcelo Cerri 提交于
This patch updates virGetUserID and virGetGroupID to be able to parse a user or group name in a similar way to coreutils' chown. This means that a numeric value with a leading plus sign is always parsed as an ID, otherwise the functions try to parse the input first as a user or group name and if this fails they try to parse it as an ID. This patch includes Peter Krempa's changes to correctly handle errors returned by getpwnam_r and getgrnam_r.
-
由 Matthias Bolte 提交于
curl_global_init is not thread-safe. curl_easy_init might call curl_global_init when it was no called before. But curl_easy_init can be called from different threads by the ESX driver. Therefore, call curl_global_init from virInitialize to stop curl_easy_init from calling it. Reported by Benjamin Wang.
-
由 Martin Kletzander 提交于
When both kvmclock and kvm_pv_eoi are configured (either disabled or enabled) libvirt will generate invalid CPU specification due to the fact that even though kvmclock causes the CPU to be specified, it doesn't set have_cpu flag to true (and the new kvm_pv_eoi as well). This patch fixes the issue and adds a test exactly for that to show that it is fixed correctly (and also to keep it that way in the future of course).
-
由 Alexander Larsson 提交于
The variable that is set in the script is with_dbus, not have_dbus.
-
- 08 10月, 2012 2 次提交
-
-
由 Guannan Ren 提交于
libvirt_ulonglongUnwrap requires the integer type of python obj. But libvirt_longlongUnwrap still could handle python obj of Pyfloat_type which causes the float value to be rounded up to an integer. For example >>> dom.setSchedulerParameters({'vcpu_quota': 0.88}) 0 libvirt_longlongUnwrap treats 0.88 as a valid value 0 However >>> dom.setSchedulerParameters({'cpu_shares': 1000.22}) libvirt_ulonglongUnwrap will throw out an error "TypeError: an integer is required" The patch make this consistent.
-
由 Guannan Ren 提交于
libvirt_virDomainGetVcpus: add error handling, return -1 instead of None libvirt_virDomainPinVcpu and libvirt_virDomainPinVcpuFlags: check the type of argument make use of libvirt_boolUnwrap Set bitmap according to these values which are contained in given argument of vcpu tuple and turn off these bit corresponding to missing vcpus in argument tuple The original way ignored the error info from PyTuple_GetItem if index is out of range. "IndexError: tuple index out of range" The error message will only be raised on next command in interactive mode.
-
- 07 10月, 2012 1 次提交
-
-
由 Matthias Bolte 提交于
libcurl uses a SIGALRM in combination with sigsetjmp/siglongjmp to be able to abort a DNS lookup when it takes too long. The problem with this in a multi-threaded application is that the signal handler for SIGALRM and the call to siglongjmp can be executed on a thread that is different from the one that initially did the SIGALRM setup and the call to sigsetjmp. In the reported case this triggered a segfault. Disable libcurl's use of signals to avoid this situation. This has the disadvantage of losing the ability to abort synchronous DNS lookups which might result in libcurl getting stuck in a DNS lookup in the worst case. When libcurl was build with an asynchronous DNS backend such as c-ares then there is no problem because the timeout mechanism works without signals here anyway. Reported by Benjamin Wang.
-
- 05 10月, 2012 4 次提交
-
-
由 Viktor Mihajlovski 提交于
The output buffer for virFileReadAll was too small for systems with more than 30 CPUs which leads to a log entry and incorrect behavior. The new size will be sufficient for the current architectural limits. Signed-off-by: NViktor Mihajlovski <mihajlov@linux.vnet.ibm.com>
-
由 Eric Blake 提交于
This reverts part of commit 5468594f; the perl changes in that patch were sufficient. Since libvirt.syms is already a generated file created in part from libvirt_private.syms, we don't need a second pass over libvirt_private.syms in isolation. * src/Makefile.am: Undo addition of check-private-symfile.
-
由 Michal Privoznik 提交于
Currently, we are checking if libvirt.so contains public symbols. However, sometimes we rename an internal symbol and forget to change libvirt_private.syms accordingly. Hence, it's safer to check for internal symbols as well.
-
由 Eric Blake 提交于
I noticed that in two places, we require util-linux, and in a third, we require util-linux-ng. On Fedora (I tested F15 through rawhide), util-linux-ng is obsoleted by util-linux; on RHEL 6, util-linux is obsoleted by util-linux-ng. That is, on either platform, either name will get you the correct package installed (where the preferred name on fedora is util-linux, and on RHEL 6 is util-linux-ng). But on RHEL 5, there is no util-linux-ng * libvirt.spec.in (Requires): Use util-linux, not util-linux-ng.
-