- 06 5月, 2011 8 次提交
-
-
由 Daniel P. Berrange 提交于
As well as taint warnings going to the main libvirt log, add taint warnings to the per-domain logfile Domain id=3 is tainted: high-privileges Domain id=3 is tainted: disk-probing Domain id=3 is tainted: shell-scripts Domain id=3 is tainted: custom-monitor * src/qemu/qemu_domain.c, src/qemu/qemu_domain.h: Enhance qemuDomainTaint to also log to the domain logfile * src/qemu/qemu_driver.c: Pass -1 for logFD to taint methods to auto-append to logfile * src/qemu/qemu_process.c: Pass open logFD at startup for taint methods
-
由 Daniel P. Berrange 提交于
The qemuDomainAppendLog method allows writing a formatted string to the end of the domain logfile, optionally opening it if needed. * src/qemu/qemu_domain.c, src/qemu/qemu_domain.h: Add qemuDomainAppendLog
-
由 Daniel P. Berrange 提交于
Move the qemuProcessLogReadFD and qemuProcessLogFD methods into qemu_domain.c, renaming them to qemuDomainCreateLog and qemuDomainOpenLog. * src/qemu/qemu_domain.c, src/qemu/qemu_domain.h: Add qemuDomainCreateLog and qemuDomainOpenLog. * src/qemu/qemu_process.c: Remove qemuProcessLogFD and qemuProcessLogReadFD
-
由 Daniel P. Berrange 提交于
Wire up logging of VM tainting to the QEMU driver - If running QEMU as root user/group or without capabilities being cleared - If passing custom QEMU command line args - If issuing custom QEMU monitor commands - If using a network interface config with an associated shell script - If using a disk config relying on format probing The warnings, per-VM appear in the main libvirtd logs 11:56:17.571: 10832: warning : qemuDomainObjTaint:712 : Domain id=1 name='l2' uuid=c7a3edbd-edaf-9455-926a-d65c16db1802 is tainted: high-privileges 11:56:17.571: 10832: warning : qemuDomainObjTaint:712 : Domain id=1 name='l2' uuid=c7a3edbd-edaf-9455-926a-d65c16db1802 is tainted: disk-probing The taint flags are reset when the VM is stopped. * src/qemu/qemu_domain.c, src/qemu/qemu_domain.h: Helper APIs for logging taint warnings * src/qemu/qemu_driver.c: Log tainting with custom QEMU monitor commands and disk/net hotplug with unsupported configs * src/qemu/qemu_process.c: Log tainting at startup based on unsupported configs
-
由 Daniel P. Berrange 提交于
Some configuration setups for guests are allowed, but strongly discouraged and unsupportable in production systems. Introduce a concept of 'tainting' to virDomainObjPtr to allow such setups to be identified. Drivers can then log warnings at suitable times * src/conf/domain_conf.c, src/conf/domain_conf.h: Declare taint flags and add parsing/formatting of domain status XML
-
由 Doug Goldstein 提交于
Print the name of the CA cert, certificate, and key file that resulted in the failure so that the user has an idea what to troubleshoot. Signed-off-by: NDoug Goldstein <cardoe@gentoo.org>
-
由 Eric Blake 提交于
Match the fact that we have virAsprintf and virVasprintf. * src/util/buf.h (virBufferVasprintf): New prototype. * src/util/buf.c (virBufferAsprintf): Move guts... (virBufferVasprintf): ...to new function. * src/libvirt_private.syms (buf.h): Export it. * bootstrap.conf (gnulib_modules): Add stdarg, for va_copy.
-
由 Eric Blake 提交于
We already have virAsprintf, so picking a similar name helps for seeing a similar purpose. Furthermore, the prefix V before printf generally implies 'va_list', even though this variant was '...', and the old name got in the way of adding a new va_list version. global rename performed with: $ git grep -l virBufferVSprintf \ | xargs -L1 sed -i 's/virBufferVSprintf/virBufferAsprintf/g' then revert the changes in ChangeLog-old.
-
- 05 5月, 2011 8 次提交
-
-
由 Daniel P. Berrange 提交于
The qemuMigrationToFile method was accidentally annotated for the 'compressor' parameter to be non-null, instead of the 'path' parameter. Thus GCC with -O2, unhelpfully deleted the entire 'if (compressor == NULL)' block of code during optimization. Thus NULL was passed to virCommandNew() with predictably bad results. * src/qemu/qemu_migration.h: Fix non-null annotation to be against path instead of compressor
-
由 Daniel P. Berrange 提交于
* src/qemu/qemu_migration.c, src/qemu/qemu_migration.h: Remove qemuCaps parameters & use cached data * src/qemu/qemu_driver.c: Don't create & pass qemuCaps to migration methods
-
由 Daniel P. Berrange 提交于
* src/qemu/qemu_hotplug.h, src/qemu/qemu_hotplug.c: Remove qemuCaps parameters from all methods * src/qemu/qemu_driver.c: Don't create & pass qemuCaps to hotplug methods
-
由 Daniel P. Berrange 提交于
To cope with the QEMU binary being changed while a VM is running, it is neccessary to persist the original qemu capabilities at the time the VM is booted. * src/qemu/qemu_capabilities.c, src/qemu/qemu_capabilities.h: Add an enum for a string rep of every capability * src/qemu/qemu_domain.c, src/qemu/qemu_domain.h: Support for storing capabilities in the domain status XML * src/qemu/qemu_process.c: Populate & free QEMU capabilities at domain startup
-
由 Eric Blake 提交于
Detected by clang. NULL deref added in commit 343a27af (Mar 11), but leak of voldef present since commit 2cd9b2d8 (Apr 09). * src/storage/storage_driver.c (storageVolumeCreateXML): Don't leak voldef or dereference null volobj.
-
由 Matthias Bolte 提交于
The queried values aren't used yet.
-
由 Matthias Bolte 提交于
Add missing early exits and convert error logging to proper API level error reporting. Centralize cleanup code for the PerfQuerySpec object. Reported by Eric Blake, detected by clang.
-
由 Matthias Bolte 提交于
The ++ on preliminaryFileName was a left over from a previous version of this function that explicitly returned the filename and did a strdup on preliminaryFileName afterwards. As the filename isn't returned explicitly anymore remove the preliminary variable for it and reuse the tmp variable instead. Reported by Eric Blake, detected by clang.
-
- 04 5月, 2011 11 次提交
-
-
由 Eric Blake 提交于
Clang warned about a dead assignment. In the process, I noticed that we are only using the function for a bool value. I audited all other callers in qemu_{migration,cgroup,driver,hotplug), and all were making the call in a bool context. Also, do bounds checking on the argument. * src/qemu/qemu_cgroup.c (qemuSetupCgroup): Delete dead assignment. (qemuCgroupControllerActive): Change return type to bool. * src/qemu/qemu_cgroup.h (qemuCgroupControllerActive): Likewise.
-
由 Eric Blake 提交于
Clang complained about this, and it was easy enough to fix. * src/util/util.c (virFileOpenAs): Drop dead assignment.
-
由 Eric Blake 提交于
Clang noticed a dead assignment, which turned out to be the use of the wrong variable. rc starts life as -1, and is only ever assigned to 0 just before a successful cleanup. * src/lxc/lxc_driver.c (lxcSetupInterfaces): Don't call virReportSystemError(-1).
-
由 Eric Blake 提交于
Detected by gcc: libxl/libxl_driver.c: In function 'libxlDomainDestroy': libxl/libxl_drier.c:1351:30: error: variable 'priv' set but not used [-Werror=unused-but-set-variable] * src/libxl/libxl_driver.c (libxlDomainDestroy): Delete unused variable.
-
由 Eric Blake 提交于
Detected by clang. * src/qemu/qemu_migration.c (qemuMigrationToFile): Nothing later uses is_reg.
-
由 Eric Blake 提交于
clang didn't like the last increment to nargs. But why even track nargs ourselves, when virCommand does it for us? * src/storage/storage_backend_iscsi.c (virStorageBackendISCSIConnection): Switch to virCommand to avoid a dead-store warning on nargs.
-
由 Eric Blake 提交于
Clang detected a dead store to rc. It turns out that in fixing this, I also found a FILE* leak. This is a subtle change in behavior, although unlikely to hit. The pidfile is a kernel file, so we've probably got more serious problems under foot if we fail to parse one. However, the previous behavior was that even if one pid file failed to parse, we tried others, whereas now we give up on the first failure. Either way, though, the function returns -1, so the caller will know that something is going wrong, and that not all pids were necessarily reaped. Besides, there were other instances already in the code where failure in the inner loop aborted the outer loop. * src/util/cgroup.c (virCgroupKillInternal): Abort rather than resuming loop on fscanf failure, and cleanup file on error.
-
由 Eric Blake 提交于
Clang 2.8 wasn't quite able to follow that persistentDef was assigned earlier if (flags & VIR_DOMAIN_MEM_CONFIG) is true. Silence this false positive, to make clang analysis easier to use. * src/qemu/qemu_driver.c (qemudDomainSetMemoryFlags): Add an annotation to silence clang's claim of a NULL dereference.
-
由 Eric Blake 提交于
Clang detected a null-pointer dereference regression, introduced in commit 4e8969eb. Without this patch, a device with unbind_from_stub set to false would eventually try to call virFileExists on uncomputed drvdir. * src/util/pci.c (pciUnbindDeviceFromStub): Ensure drvdir is set before use.
-
由 Eric Blake 提交于
This code has had problems historically. As originally written, in commit 6bcf2501 (Jun 08), it could call unlink on a random string, nuking an unrelated file. Then commit 182a80b9 (Sep 09), the code was rewritten to allocate tmp, with both a use-after-free bug and a chance to call unlink(NULL). Commit e206946d (Mar 11) fixed the use-after-free, but not the NULL dereference. Thanks to clang for catching this! * src/qemu/qemu_driver.c (qemudDomainMemoryPeek): Don't call unlink on NULL.
-
由 Eric Blake 提交于
This reverts commit 0e7f7f85. From the mailing list: > So, AFAICT, this patch means we will never reconnect to any LXC > VMs now. > > The correct solution, is to refactor LXC driver startup to work > the same way as the QEMU driver startup. > > - Load all the live state XML files (to pick up running VMs) > - Reconnect to all VMs > - Load all the persistent config XML files (to pick up any additional > inactive guets) But that solution is invasive enough to be post-0.9.1.
-
- 03 5月, 2011 2 次提交
-
-
由 Michal Privoznik 提交于
The patch which moved libpciaccess initialization to one place caused regression - we were not able to run on system with no PCI bus, like s390(x).
-
由 Osier Yang 提交于
Otherwise if there are inactive lxc domains, lxcStartup will try to reconnect to sockets of these domains, which results in errors in libvirtd log.
-
- 02 5月, 2011 1 次提交
-
-
由 Christophe Fergeau 提交于
This commit fixes qemu/qemu_driver.c: In function 'qemuDomainModifyDeviceFlags': qemu/qemu_driver.c:4041:8: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] qemu/qemu_driver.c:4013:9: note: 'ret' was declared here The variable is set to -1 so that the error paths are taken when the code to set it didn't get a chance to run. Without initializing it, we could return some an undefined value from this function. While I was at it, I made a trivial whitespace change in the same function to improve readability.
-
- 30 4月, 2011 4 次提交
-
-
由 Matthias Bolte 提交于
Call shutdown functions for all subcomponents in nwfilterDriverShutdown. Make sure that this shutdown functions can safely be called multiple times and independent from the actual subcomponents state.
-
由 Matthias Bolte 提交于
-
由 Matthias Bolte 提交于
Commit e0d014f2 made binary potentially allocated on the heap. It was freed in the parent in the error path, but not in the success path that doesn't goto the cleanup label. Found by 'make -C tests valgrind'.
-
由 Eric Blake 提交于
Commit 1671d1dc introduced a memory leak in virHashFree, and wholesale table corruption in virHashRemoveSet (elements not requested to be freed are lost). * src/util/hash.c (virHashFree): Free bucket array. (virHashRemoveSet): Don't lose elements. * tests/hashtest.c (testHashCheckForEachCount): New method. (testHashCheckCount): Expose the bug.
-
- 29 4月, 2011 3 次提交
-
-
由 KAMEZAWA Hiroyuki 提交于
Support update of disks by MODIFY_CONFIG This patch includes changes for qemu's disk to support virDomainUpdateDeviceFlags() with VIR_DOMAIN_DEVICE_MODIFY_CONFIG. This patch adds support for CDROM/foppy disk types. Signed-off-by: NKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> * src/qemu/qemu_driver.c (qemuDomainUpdateDeviceConfig): support cdrom/floppy.
-
由 Jim Fehlig 提交于
V2: Use virAsprintf instead of snprintf/strdup The xend driver will generate a virDomainNetDef ifname if one is not specified in xend sexpr, even if domain is inactive. The result is network interface XML containing 'vif-1.Y' on dev attribute of target element, e.g. <interface type='bridge'> <target dev='vif-1.0'/> ... This patch changes the behavior to only generate the ifname if not specified in xend sexpr *and* domain is not inactive (id != -1).
-
由 Yufang Zhang 提交于
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=664059 Reattaching pci device back to host without destroying guest or detaching device from guest would cause host to crash. This patch adds a check before doing device reattach. If the device is being assigned to guest, libvirt refuses to reattach device to host. The patch only works for Xen, for it just checks xenstore to get pci device information. Signed-off-by: NYufang Zhang <yuzhang@redhat.com>
-
- 28 4月, 2011 3 次提交
-
-
由 Laine Stump 提交于
The lone caller to hostsFileWrite (and the callers for at least 3 levels up the return stack) assume that the return value will be < 0 on failure. However, hostsFileWrite returns 0 on success, and a positive errno on failure. This patch changes hostsFileWrite to return -errno on failure.
-
由 Eric Blake 提交于
* src/esx/esx_driver.c: Fix spelling of 'relative'. * src/util/util.c: Likewise.
-
由 Osier Yang 提交于
We support to initialize the hooks at daemon reload if there is no hooks script is defined, we should also support initialize the hooks at daemon shutdown if no hooks is defined. To address bz: https://bugzilla.redhat.com/show_bug.cgi?id=688859
-