- 17 2月, 2011 4 次提交
-
-
由 Daniel P. Berrange 提交于
The introduction of the v3 migration protocol, along with support for migration cookies, will significantly expand the size of the migration code. Move it all to a separate file to make it more manageable The functions are not moved 100%. The API entry points remain in the main QEMU driver, but once the public virDomainPtr is resolved to the internal virDomainObjPtr, all following code is moved. This will allow the new v3 API entry points to call into the same shared internal migration functions * src/qemu/qemu_domain.c, src/qemu/qemu_domain.h: Add qemuDomainFormatXML helper method * src/qemu/qemu_driver.c: Remove all migration code * src/qemu/qemu_migration.c, src/qemu/qemu_migration.h: Add all migration code.
-
由 Daniel P. Berrange 提交于
Move the qemudStartVMDaemon and qemudShutdownVMDaemon methods into a separate file, renaming them to qemuProcessStart, qemuProcessStop. All helper methods called by these are also moved & renamed to match * src/Makefile.am: Add qemu_process.c/.h * src/qemu/qemu_command.c: Add qemuDomainAssignPCIAddresses * src/qemu/qemu_command.h: Add VNC port min/max * src/qemu/qemu_domain.c, src/qemu/qemu_domain.h: Add domain event queue helpers * src/qemu/qemu_driver.c, src/qemu/qemu_driver.h: Remove all QEMU process startup/shutdown functions * src/qemu/qemu_process.c, src/qemu/qemu_process.h: Add all QEMU process startup/shutdown functions
-
由 Osier Yang 提交于
The name convention of device mapper disk is different, and 'parted' can't be used to delete a device mapper disk partition. e.g. Name Path ----------------------------------------- 3600a0b80005ad1d7000093604cae912fp1 /dev/mapper/3600a0b80005ad1d7000093604cae912fp1 Error: Expecting a partition number. This patch introduces 'dmsetup' to fix it. Changes: - New function "virIsDevMapperDevice" in "src/utils/utils.c" - remove "is_dm_device" in "src/storage/parthelper.c", use "virIsDevMapperDevice" instead. - Requires "device-mapper" for 'with-storage-disk" in "libvirt.spec.in" - Check "dmsetup" in 'configure.ac' for "with-storage-disk" - Changes on "src/Makefile.am" to link against libdevmapper - New entry for "virIsDevMapperDevice" in "src/libvirt_private.syms" Changes from v1 to v3: - s/virIsDeviceMapperDevice/virIsDevMapperDevice/g - replace "virRun" with "virCommand" - sort the list of util functions in "libvirt_private.syms" - ATTRIBUTE_NONNULL(1) for virIsDevMapperDevice declaration. e.g. Name Path ----------------------------------------- 3600a0b80005ad1d7000093604cae912fp1 /dev/mapper/3600a0b80005ad1d7000093604cae912fp1 Vol /dev/mapper/3600a0b80005ad1d7000093604cae912fp1 deleted Name Path -----------------------------------------
-
由 Osier Yang 提交于
"qemudDomainSaveFlag" goto wrong label "endjob", which will cause error when security manager trying to restore label (regression). As it's more reasonable to check if vm is shutoff immediately, and return right away if it is, remove the checking in "qemudDomainSaveFlag", and add checking in "qemudDomainSave". * src/qemu/qemu_driver.c
-
- 16 2月, 2011 7 次提交
-
-
由 Eric Blake 提交于
* src/util/cgroup.c (virCgroupSetValueStr, virCgroupGetValueStr) (virCgroupRemoveRecursively): VIR_DEBUG can clobber errno. (virCgroupRemove): Use VIR_DEBUG rather than DEBUG.
-
由 Jiri Denemark 提交于
The code expected that host CPU architecture matches the architecture on which libvirt runs. This is normally true but not in tests, where host CPU is faked to produce consistent results.
-
由 Eric Blake 提交于
* docs/drvopenvz.html.in: Spell administrator correctly. * docs/drvuml.html.in: Likewise. * src/qemu/qemu.conf: Likewise. Fix other typos, too.
-
由 Eric Blake 提交于
clang had 5 reports against virCommand; three were false positives (a NULL deref in ProcessIO solved by sa_assert, and two uninitialized memory operations solved by adding an initializer), but two were real. * src/util/command.c (virCommandProcessIO): Fix real bug of possible NULL dereference. Teach clang that buf is never NULL. (virCommandRun): Teach clang that infd is only ever accessed when initialized.
-
由 Eric Blake 提交于
* src/qemu/qemu_command.c (qemuBuildCommandLine): Don't report oom after qemuBuildControllerDevStr, which reported its own errors.
-
由 Eric Blake 提交于
The processWatchdogEvent fix is real, although it can only trigger on OOM, since bad things happen if doCoreDump is called with a NULL pathname argument. The other fixes silence clang, but aren't a real bug because virReportErrorHelper tolerates a NULL format string even though *printf does not. * src/qemu/qemu_driver.c (processWatchdogEvent): Exit on OOM. (qemuDomainIsActive, qemuDomainIsPersistent, qemuDomainIsUpdated): Provide valid message.
-
由 Eric Blake 提交于
* src/libvirt.c (virDomainMemoryStats): Check domain before flags.
-
- 15 2月, 2011 14 次提交
-
-
由 Daniel P. Berrange 提交于
* src/util/threads-pthread.c: Fix mutex leak
-
由 Daniel P. Berrange 提交于
The SCSI storage backend leaks a string containing the pathname for each block device it discovers * src/storage/storage_backend_scsi.c: Free the device name
-
由 Matthias Bolte 提交于
This helps identifying which command exited with status != 0.
-
由 Christophe Fergeau 提交于
When creating the virDomain::snapshots hash table, virGetDomain wasn't checking if the creation was successful. This would then lead to failures in the vir*DomainSnapshot functions. Better to report this error early and make virGetDomain fail if the snapshots hash couldn't be created. * src/datatypes.c: report failure to make a hash table
-
由 Christophe Fergeau 提交于
A couple of allocation were not calling virReportOOMError on allocation errors * src/util/hash.c: add the needed call in virHashCreate and virHashAddOrUpdateEntry
-
由 Osier Yang 提交于
"virStorageBackendCreateVols": "names->next" serves as condition expression for "do...while", however, "names" was shifted before, it then results in one less loop, and thus, one less volume will be created for mpath pool, the patch is to fix it. * src/storage/storage_backend_mpath.c
-
由 Eric Blake 提交于
* src/network/bridge_driver.c (networkStartNetworkDaemon): Delete unused assignments.
-
由 Eric Blake 提交于
* src/qemu/qemu_command.c (qemuParseCommandLineDisk): Report error before cleaning def.
-
由 Eric Blake 提交于
clang complained that STREQ(group->controllers[i].mountPoint,...) was a NULL dereference when i==VIR_CGROUP_CONTROLLER_CPUSET, because it assumes the worst about virCgroupPathOfController. Marking the argument const doesn't yet have an effect, per this clang bug: http://llvm.org/bugs/show_bug.cgi?id=7758 So, we use sa_assert, which was designed to shut up false positives from tools like clang. * src/util/cgroup.c (virCgroupMakeGroup): Teach clang that there is no NULL dereference.
-
由 Eric Blake 提交于
https://bugzilla.redhat.com/show_bug.cgi?id=676563 Regression introduced in commit 22115181. * src/qemu/qemu_capabilities.c (qemuCapsProbeMachineTypes): Allow non-zero exit status.
-
由 Eric Blake 提交于
Detected by clang. * src/util/xml.c (virXPathStringLimit): Use %zd, not obsolete %Zd.
-
由 Stefan Berger 提交于
This patch reorders the connlimit and comment match extensions relative to the state match (-m state); connlimit being most useful if found after a -m state --state NEW and not before it.
-
由 Jiri Denemark 提交于
When formatting XML for smartcard device with mode=host, libvirt generates invalid XML if the device has address info associated: <smartcard mode='host' <address type='ccid' controller='0' slot='1'/>
-
由 Daniel P. Berrange 提交于
Commit 9962e406 introduced a problem where if the VM failed to startup, it would not be correctly cleaned up. Amongst other things the SELinux security label would not be removed, which prevents the VM from ever starting again. The virDomainIsActive() check at the start of qemudShutdownVMDaemon checks for vm->def->id not being -1. By moving the assignment of the VM id to the start of qemudStartVMDaemon, we can ensure cleanup will occur on failure * src/qemu/qemu_driver.c: Move initialization of 'vm->def->id' so that qemudShutdownVMDaemon() will process the shutdown
-
- 14 2月, 2011 1 次提交
-
-
由 Christophe Fergeau 提交于
* src/util/hash.c: virHashAddEntry and virHashUpdateEntry were missing NULL checks on strdup * AUTHORS: add Christophe Fergeau
-
- 13 2月, 2011 1 次提交
-
-
由 Matthias Bolte 提交于
Add missing subdirectories.
-
- 12 2月, 2011 4 次提交
-
-
由 Matthias Bolte 提交于
Also use VIR_ERR_OPERATION_INVALID instead of VIR_ERR_NO_SUPPORT, as the operation could succeed when the cgroup controller was mounted.
-
由 Osier Yang 提交于
When attaching a device that already exists, xend driver updates the device with "device_configure", it causes problems (e.g. for disk device, 'device_configure' only can be used to update device like CDROM), on the other hand, we provide additional API (virDomainUpdateDevice) to update device, this fix is to raise up errors instead of updating the existed device which is not CDROM device. Changes from v1 to v2: - allow to update CDROM * src/xen/xend_internal.c
-
由 Eric Blake 提交于
Building the 0.8.8 release candidate on cygwin produced this compiler warning, which is indicative of catastrophic failure on any attempt to print an error message with errno turned to a string: CC strerror_r.lo strerror_r.c: In function 'rpl_strerror_r': strerror_r.c:67: warning: assignment makes integer from pointer without a cast This has been fixed in gnulib. * .gnulib: Update to latest, for strerror_r fix. * src/util/memory.c (includes): Satisfy 'make syntax-check'.
-
由 Philipp Hahn 提交于
Suspending a VM which contains shell meta characters doesn't work with libvirt-0.8.7: /var/log/libvirt/qemu/andreas_231-ne\ doch\ nicht.log: sh: -c: line 0: syntax error near unexpected token `doch' sh: -c: line 0: `cat | { dd bs=4096 seek=1 if=/dev/null && dd bs=1048576; } Although target="andreas_231-ne doch nicht" contains shell meta characters (here: blanks), they are not properly escaped by src/qemu/qemu_monitor_{json,text}.c#qemuMonitor{JSON,Text}MigrateToFile() First, the filename needs to be properly escaped for the shell, than this command line has to be properly escaped for qemu again. For this to work, remove the old qemuMonitorEscapeArg() wrapper, rename qemuMonitorEscape() to it removing the handling for shell=TRUE, and implement a new qemuMonitorEscapeShell() returning strings using single quotes. Using double quotes or escaping special shell characters with backslashes would also be possible, but the set of special characters heavily depends on the concrete shell (dsh, bash, zsh) and its setting (history expansion, interactive use, ...) Signed-off-by: NPhilipp Hahn <hahn@univention.de>
-
- 11 2月, 2011 2 次提交
-
-
由 Daniel P. Berrange 提交于
The logging functions are enhanced so that immediately prior to the first log message being printed to any output channel, the libvirt package version will be printed. eg $ LIBVIRT_DEBUG=1 virsh 18:13:28.013: 17536: info : libvirt version: 0.8.7 18:13:28.013: 17536: debug : virInitialize:361 : register drivers ... The 'configure' script gains two new arguments which can be used as --with-packager="Fedora Project, x86-01.phx2.fedoraproject.org, 01-27-2011-18:00:10" --with-packager-version="1.fc14" to allow distros to append a custom string with package specific data. The RPM specfile is modified so that it appends the RPM version, the build host, the build date and the packager name. eg $ LIBVIRT_DEBUG=1 virsh 18:14:52.086: 17551: info : libvirt version: 0.8.7, package: 1.fc13 (Fedora Project, x86-01.phx2.fedoraproject.org, 01-27-2011-18:00:10) 18:14:52.086: 17551: debug : virInitialize:361 : register drivers Thus when distro packagers receive bug reports they can clearly see what version was in use, even if the bug reporter mistakenly or intentionally lies about version/builds * src/util/logging.c: Output version data prior to first log message * libvirt.spec.in: Include RPM release, date, hostname & packager * configure.ac: Add --with-packager & --with-packager-version args
-
由 Wen Congyang 提交于
QEMUD_CMD_FLAG_PCI_MULTIBUS should be set in the function qemuCapsExtractVersionInfo() The flag QEMUD_CMD_FLAG_PCI_MULTIBUS is used in the function qemuBuildDeviceAddressStr(). All callers get qemuCmdFlags by the function qemuCapsExtractVersionInfo() except that testCompareXMLToArgvFiles() in qemuxml2argvtest.c. So we should set QEMUD_CMD_FLAG_PCI_MULTIBUS in the function qemuCapsExtractVersionInfo() instead of qemuBuildCommandLine() because the function qemuBuildCommandLine() does not be called when we attach a pci device. tests: set QEMUD_CMD_FLAG_PCI_MULTIBUS in testCompareXMLToArgvFiles() set QEMUD_CMD_FLAG_PCI_MULTIBUS before calling qemuBuildCommandLine() as the flags is not set by qemuCapsExtractVersionInfo(). Signed-off-by: NWen Congyang <wency@cn.fujitsu.com>
-
- 10 2月, 2011 7 次提交
-
-
由 Daniel P. Berrange 提交于
Quite a few hosts don't have cgroups mounted and so see warnings from libvirt logged, which then cause bug reports, etc. Reduce the log level to INFO so they're not visible by default * src/qemu/qemu_driver.c: Reduce log level for cgroups
-
由 Daniel P. Berrange 提交于
When run non-root the nwfilter driver logs error messages about being unable to find iptables/ebtables commands (they are in /sbin which isn't in $PATH). The nwfilter driver can't ever work as non-root, so simply skip it entirely thus avoiding the error messages * src/conf/nwfilter_conf.h, src/nwfilter/nwfilter_driver.c, src/nwfilter/nwfilter_gentech_driver.c, src/nwfilter/nwfilter_gentech_driver.h: Pass 'bool privileged' flag down to final driver impl * src/nwfilter/nwfilter_ebiptables_driver.c: Skip initialization if not privileged
-
由 Michal Privoznik 提交于
A typo s/spice/vnc/ caused parsing of the spice 'auth' data to write into the wrong part of the struct, blowing away other unrelated data. * src/conf/domain_conf.c: s/vnc/spice/ in parsing spice auth
-
由 Daniel P. Berrange 提交于
Most of te VIR_INFO calls in the udev driver are only relevant to developers so can switch to VIR_DEBUG. Failure to initialize libpciaccess though is a fatal error * src/node_device/node_device_udev.c: Adjust log levels
-
由 Daniel P. Berrange 提交于
When probing machine types if the QEMU binary does not exist we get a hard to diagnose error, due to the execve() in the child failing error: internal error Child process exited with status 1. Add an explicit check so that we get error: Cannot find QEMU binary /usr/libexec/qem3u-kvm: No such file or directory * src/qemu/qemu_capabilities.c: Check for QEMU binary
-
由 Daniel P. Berrange 提交于
To make it easier to investigate problems with async event delivery, add two more debugging lines * daemon/remote.c: Debug when an event is queued for dispatch * src/remote/remote_driver.c: Debug when an event is received for processing
-
由 Daniel P. Berrange 提交于
When built as modules, the connection drivers live in $LIBDIR/libvirt/drivers. Now we add lock manager drivers, we need to distinguish. So move the existing modules to 'connection-driver' * src/Makefile.am: Move module install dir * src/driver.c: Move module search dir
-