- 11 2月, 2010 1 次提交
-
-
由 Daniel P. Berrange 提交于
With QEMU >= 0.12 the host and guest side of disks no longer have the same naming convention. Specifically the host side will now get a 'drive-' prefix added to its name. The 'info blockstats' monitor command returns the host side name, so it is neccessary to strip this off when looking up stats since libvirt stores the guest side name ! * src/qemu/qemu_conf.c, src/qemu/qemu_conf.h: Move 'drive-' prefix string to a defined constant * src/qemu/qemu_monitor_json.c, src/qemu/qemu_monitor_text.c: Strip off 'drive-' prefix (if found) when looking up disk stats
-
- 10 2月, 2010 12 次提交
-
-
由 Cole Robinson 提交于
Currently the timeout for reading startup output is 3 seconds. If the host is under any sort of load, we can easily trigger this. Lets bump it to 30 seconds. Since the polling loop checks to see if the process has died, we shouldn't erroneously hit this timeout if qemu bombs (only if it is stuck in some infinite loop).
-
由 Cole Robinson 提交于
The timeout errors were unconditionally being overwritten by the less helpful 'unable to start guest' error.
-
由 Daniel P. Berrange 提交于
Use the ATTRIBUTE_NONNULL annotation to mark some virConnectPtr args as mandatory non-null so the compiler can warn of mistakes * src/conf/domain_event.h: All virConnectPtr args must be non-null * src/qemu/qemu_conf.h: qemudBuildCommandLine and qemudNetworkIfaceConnect() must be given non-null connection * tests/qemuxml2argvtest.c: Provide a non-null (dummy) connection to qemudBuildCommandLine()
-
由 Daniel P. Berrange 提交于
The virConnectPtr is no longer required for error reporting since that is recorded in a thread local. Remove use of virConnectPtr from all APIs in cpu_conf.{h,c} and update all callers to match
-
由 Daniel P. Berrange 提交于
The virConnectPtr is no longer required for error reporting since that is recorded in a thread local. Remove use of virConnectPtr from all APIs in node_device_conf.{h,c} and update all callers to match
-
由 Daniel P. Berrange 提交于
All callers now pass a NULL virConnectPtr into the USB/PCi device iterator functions. Therefore the virConnectPtr arg can now be removed from these functions * src/util/hostusb.h, src/util/hostusb.c: Remove virConnectPtr from usbDeviceFileIterate * src/util/pci.c, src/util/pci.h: Remove virConnectPtr arg from pciDeviceFileIterate * src/qemu/qemu_security_dac.c, src/security/security_selinux.c: Update to drop redundant virConnectPtr arg
-
由 Daniel P. Berrange 提交于
* src/qemu/qemu_conf.c: Fix ',' vs '.' typo in floppy disk arg
-
由 Daniel P. Berrange 提交于
The QEMU flags are commonly stored as a signed or unsigned int, allowing only 31 flags. This limit is rather close, so to aid future patches, change it to a 64-bit int * src/qemu/qemu_conf.c, src/qemu/qemu_conf.h, src/qemu/qemu_driver.c, tests/qemuargv2xmltest.c, tests/qemuhelptest.c, tests/qemuxml2argvtest.c: Use 'unsigned long long' for QEMU flags
-
由 Daniel P. Berrange 提交于
The virConnectPtr is no longer required for error reporting since that is recorded in a thread local. Remove use of virConnectPtr from all APIs in security_driver.{h,c} and update all callers to match
-
由 Daniel P. Berrange 提交于
-
由 Daniel P. Berrange 提交于
-
由 Daniel P. Berrange 提交于
The security driver was mistakenly initialized before the QEMU config file was loaded. This prevents it being turned off again. The capabilities XML was also getting the wrong security driver name, due to the stacked driver arrangement. * src/qemu/qemu_driver.c: Fix initialization order and capabilities model name
-
- 09 2月, 2010 9 次提交
-
-
由 Matthias Bolte 提交于
It was used for error reporting only.
-
由 Matthias Bolte 提交于
It was used for error reporting only.
-
由 Matthias Bolte 提交于
It was used for error reporting only.
-
由 Matthias Bolte 提交于
It was used for error reporting only.
-
由 Matthias Bolte 提交于
It was used for error reporting only.
-
由 Matthias Bolte 提交于
It was used for error reporting only.
-
由 Matthias Bolte 提交于
-
由 Matthias Bolte 提交于
-
由 Jim Fehlig 提交于
Implementation of domain{Attach,Detach}DeviceFlags handlers in the drivers.
-
- 04 2月, 2010 1 次提交
-
-
由 Daniel P. Berrange 提交于
When restoring from a saved guest image, the XML would already contain the PCI slot ID of the IDE controller & video card. The attempt to explicitly reserve this upfront would thus fail everytime. * src/qemu/qemu_conf.c: Reserve IDE controller / video card slot at time of need, rather than upfront
-
- 03 2月, 2010 10 次提交
-
-
由 Daniel P. Berrange 提交于
If the primary security driver (SELinux/AppArmour) was disabled then the secondary QEMU DAC security driver was also disabled. This is mistaken, because the latter must be active at all times * src/qemu/qemu_driver.c: Ensure DAC driver is always active
-
由 Daniel P. Berrange 提交于
To allow devices to be hot(un-)plugged it is neccessary to ensure they all have a unique device aliases. This fixes the hotplug methods to assign device aliases before invoking the monitor commands which need them * src/qemu/qemu_conf.c, src/qemu/qemu_conf.h: Expose methods for assigning device aliases for disks, host devices and controllers * src/qemu/qemu_driver.c: Assign device aliases when hotplugging all types of device * tests/qemuxml2argvdata/qemuxml2argv-hostdev-pci-address-device.args, tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-address-device.args: Update for changed hostdev naming scheme
-
由 Daniel P. Berrange 提交于
-
由 Daniel P. Berrange 提交于
This patch re-arranges the QEMU device alias assignment code to make it easier to call into the same codeblock when performing device hotplug. The new code has the ability to skip over already assigned names to facilitate hotplug * src/qemu/qemu_driver.c: Call qemuAssignDeviceNetAlias() instead of qemuAssignNetNames * src/qemu/qemu_conf.h: Export qemuAssignDeviceNetAlias() instead of qemuAssignNetNames * src/qemu/qemu_driver.c: Merge the legacy disk/network alias assignment code into the main methods
-
由 Daniel P. Berrange 提交于
The current way of assigning names to the host network backend and NIC device in QEMU was over complicated, by varying naming scheme based on the NIC model and backend type. This simplifies the naming to simply be 'net0' and 'hostnet0', allowing code to easily determine the host network name and vlan based off the primary device alias name 'net0'. This in turn allows removal of alot of QEMU specific code from the XML parser, and makes it easier to assign new unique names for NICs that are hotplugged * src/conf/domain_conf.c, src/conf/domain_conf.h: Remove hostnet_name and vlan fields from virNetworkDefPtr * src/qemu/qemu_conf.c, src/qemu/qemu_conf.h, src/qemu/qemu_driver.c: Use a single network alias naming scheme regardless of NIC type or backend type. Determine VLANs from the alias name. * tests/qemuxml2argvdata/qemuxml2argv-net-eth-names.args, tests/qemuxml2argvdata/qemuxml2argv-net-virtio-device.args, tests/qemuxml2argvdata/qemuxml2argv-net-virtio-netdev.args: Update for new simpler naming scheme
-
由 Daniel P. Berrange 提交于
The QEMU 0.12.x tree has the -netdev command line argument, but not corresponding monitor command. We can't enable the former, without the latter since it will break hotplug/unplug. * src/qemu/qemu_conf.c, src/qemu/qemu_conf.h: Disable -netdev usage until 0.13 at earliest * tests/qemuxml2argvtest.c: Add test for -netdev syntax * tests/qemuxml2argvdata/qemuxml2argv-net-virtio-netdev.args, tests/qemuxml2argvdata/qemuxml2argv-net-virtio-netdev.xml: Test data files for -netdev syntax
-
由 Daniel P. Berrange 提交于
PCI disk, disk controllers, net devices and host devices need to have PCI addresses assigned before they are hot-plugged * src/qemu/qemu_conf.c: Add APIs for ensuring a device has an address and releasing unused addresses * src/qemu/qemu_driver.c: Ensure all devices have addresses when hotplugging.
-
由 Daniel P. Berrange 提交于
The current QEMU code allocates PCI addresses incrementally starting at 4. This is not satisfactory because the user may have given some addresses in their XML config, which need to be skipped over when allocating addresses to remaining devices. It is thus neccessary to maintain a list of already allocated PCI addresses and then only allocate ones that remain unused. This is also required for domain device hotplug to work properly later. * src/qemu/qemu_conf.c, src/qemu/qemu_conf.h: Add APIs for creating list of existing PCI addresses, and allocating new addresses. Refactor address assignment to use this code * src/qemu/qemu_driver.c: Pull PCI address assignment up into the qemuStartVMDaemon() method, as a prelude to moving it into the 'define' method. Update list of allocated addresses when connecting to a running VM at daemon startup. * tests/qemuxml2argvtest.c, tests/qemuargv2xmltest.c, tests/qemuxml2xmltest.c: Remove USB product test since all passthrough is done based on address * tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-product.args, tests/qemuxml2argvdata/qemuxml2argv-hostdev-usb-product.xml: Kil unused data files
-
由 Daniel P. Berrange 提交于
Since QEMU startup uses the new -device argument, the hotplug code needs todo the same. This converts disk, network and host device hotplug to use the device_add command * src/qemu/qemu_driver.c: Use new device_add monitor APIs whereever possible
-
由 Daniel P. Berrange 提交于
The way QEMU is started has been changed to use '-device' and the new style '-drive' syntax. This needs to be mirrored in the hotplug code, requiring addition of two new APIs. * src/qemu/qemu_monitor.h, src/qemu/qemu_monitor.c: Define APIs qemuMonitorAddDevice() and qemuMonitorAddDrive() * src/qemu/qemu_monitor_json.c, src/qemu/qemu_monitor_json.h, src/qemu/qemu_monitor_text.c, src/qemu/qemu_monitor_text.h: Implement the new monitor APIs
-
- 02 2月, 2010 4 次提交
-
-
由 Daniel P. Berrange 提交于
To allow for better code reuse from hotplug methods, the code for generating PCI/USB hostdev arg values is split out into separate methods * qemu/qemu_conf.h, qemu/qemu_conf.c: Introduce new APis for qemuBuildPCIHostdevPCIDevStr, qemuBuildUSBHostdevUsbDevStr and qemuBuildUSBHostdevDevStr
-
由 Daniel P. Berrange 提交于
All the helper functions for building command line arguments now return a 'char *', instead of acepting a 'char **' or virBufferPtr argument * qemu/qemu_conf.c: Standardize syntax for building args * qemu/qemu_conf.h: Export all functions for building args * qemu/qemu_driver.c: Update for changed syntax for building NIC/hostnet args
-
由 Jim Meyering 提交于
* src/qemu/qemu_driver.c (qemudLogReadFD): Don't pass a negative offset (from a preceding failed attempt to seek to EOF) to this use of lseek.
-
由 Jim Meyering 提交于
* src/qemu/qemu_monitor_text.c (qemuMonitorTextGetAllPCIAddresses): Use %s. * src/storage/storage_backend_iscsi.c (virStorageBackendCreateIfaceIQN): Likewise. * tools/virsh.c (cmdSecretSetValue): Likewise.
-
- 01 2月, 2010 3 次提交
-
-
由 Chris Lalancette 提交于
Similar to the race fixed by be34c3c7, make sure to wait around for KVM to release the resources from a hot-detached PCI device before attempting to rebind that device to the host driver. Signed-off-by: NChris Lalancette <clalance@redhat.com>
-
由 Matthew Booth 提交于
The QEMU driver contained code to generate a -device string for piix4-ide, but wasn't using it. This change removes this string generation. It also adds a comment explaining why IDE and FDC controllers don't generate -device strings. The change also generates an error if a sata controller is specified for a QEMU domain, as this isn't supported. * src/qemu/qemu_conf.c: Remove VIR_DOMAIN_CONTROLLER_TYPE_IDE handler in qemuBuildControllerDevStr(). Ignore IDE and FDC controllers. Error if SATA controller is discovered. Add comments.
-
由 Chris Lalancette 提交于
On RHEL-5 the qemu-kvm binary is located in /usr/libexec. To reduce confusion for people trying to run upstream libvirt on RHEL-5 machines, make the qemu driver look in /usr/libexec for the qemu-kvm binary. To make this work, I modified virFindFileInPath to handle an absolute path correctly. I also ran into an issue where NULL was sometimes being passed for the file parameter to virFindFileInPath; it didn't crash prior to this patch since it was building paths like /usr/bin/(null). This is non-standard behavior, though, so I added a NULL check at the beginning. Signed-off-by: NChris Lalancette <clalance@redhat.com>
-