- 23 3月, 2010 1 次提交
-
-
由 Jim Meyering 提交于
Before, this function would blindly accept an invalid def->dst and then abuse the idx=-1 it would get from virDiskNameToIndex, when passing it invalid strings like "xvda:disk" and "sda1". Now, this function returns -1 upon failure. * src/conf/domain_conf.c (virDomainDiskDefAssignAddress): as above. Update callers. * src/conf/domain_conf.h: Update prototype. * src/qemu/qemu_conf.c: Update callers.
-
- 19 3月, 2010 1 次提交
-
-
由 Laine Stump 提交于
Attempt to turn on vhost-net mode for devices of type NETWORK, BRIDGE, and DIRECT (macvtap). * src/qemu/qemu_conf.h: add vhostfd to qemuBuildHostNetStr prototype add qemudOpenVhostNet prototype new flag to set when :,vhost=" found in qemu help * src/qemu/qemu_conf.c: * set QEMUD_CMD_FLAG_VNET_HOST is ",vhost=" found in qemu help - qemudOpenVhostNet - opens /dev/vhost-net to pass to qemu if everything is in place to use it. - qemuBuildHostNetStr - add vhostfd to commandline if it's not empty (higher levels decide whether or not to fill it in) - qemudBuildCommandLine - if /dev/vhost-net is successfully opened, add its fd to tapfds array so it isn't closed on qemu exec, and populate vhostfd_name to be passed in to commandline builder. * src/qemu/qemu_driver.c: add filler 0 for new arg to qemuBuildHostNetStr, along with a note that this must be implemented in order for hot-plug of vhost-net virtio devices to work properly (once qemu "netdev_add" monitor command is implemented).
-
- 16 3月, 2010 1 次提交
-
-
由 Daniel Veillard 提交于
* src/qemu/qemu_conf.c: add the ",readonly=on" for read-only disks and also parse it back in qemuParseCommandLineDisk() * tests/qemuxml2argvtest.c tests/qemuxml2argvdata/qemuxml2argv-disk-drive-readonly-disk.args tests/qemuxml2argvdata/qemuxml2argv-disk-drive-readonly-disk.xml: add a specific regression test
-
- 09 3月, 2010 1 次提交
-
-
由 Laine Stump 提交于
A few more non-literal format strings in error log messages have crept in. Fix them in the standard way - turn the format string into "%s" with the original string as the arg.
-
- 02 3月, 2010 4 次提交
-
-
由 Rolf Eike Beer 提交于
A number of the error messages raised when parsing USB devices refered to PCI devices by mistake * src/qemu/qemu_conf.c: s/PCI/USB/ in qemuParseCommandLineUSB()
-
由 Daniel P. Berrange 提交于
Allow an arbitrary timezone with QEMU by setting the $TZ environment variable when launching QEMU * src/qemu/qemu_conf.c: Set TZ environment variable if a timezone is requested * tests/qemuxml2argvtest.c: Add test case for timezones * tests/qemuxml2argvdata/qemuxml2argv-clock-france.xml, tests/qemuxml2argvdata/qemuxml2argv-clock-france.args: Data for timezone tests
-
由 Daniel P. Berrange 提交于
This allows QEMU guests to be started with an arbitrary clock offset The test case can't actually be enabled, since QEMU argv expects an absolute timestring, and this will obviously change every time the test runs :-( Hopefully QEMU will allow a relative time offset in the future. * src/qemu/qemu_conf.c, src/qemu/qemu_conf.h: Use the -rtc arg if available to support variable clock offset mode * tests/qemuhelptest.c: Add QEMUD_CMD_FLAG_RTC for qemu 0.12.1 * qemuxml2argvdata/qemuxml2argv-clock-variable.args, qemuxml2argvdata/qemuxml2argv-clock-variable.xml, qemuxml2argvtest.c: Test case, except we can't actually enable it yet.
-
由 Daniel P. Berrange 提交于
The XML will soon be extended to allow more than just a simple localtime/utc boolean flag. This change replaces the plain 'int localtime' with a separate struct to prepare for future extension * src/conf/domain_conf.c, src/conf/domain_conf.h: Add a new virDomainClockDef structure * src/libvirt_private.syms: Export virDomainClockOffsetTypeToString and virDomainClockOffsetTypeFromString * src/qemu/qemu_conf.c, src/vbox/vbox_tmpl.c, src/xen/xend_internal.c, src/xen/xm_internal.c: Updated to use new structure for localtime
-
- 01 3月, 2010 1 次提交
-
-
由 Jim Meyering 提交于
* src/qemu/qemu_conf.c (qemudNetworkIfaceConnect): Remove extraneous virSaveLastError call, whose result was unused.
-
- 26 2月, 2010 1 次提交
-
-
由 Cole Robinson 提交于
-
- 19 2月, 2010 5 次提交
-
-
由 Dustin Xiong 提交于
ACPI feature bit dropped: I asked internally if the -no-acpi option had any meaning for IA64, and was told 'probably not'.
-
由 Stefan Berger 提交于
This patch adds the mac_filter support to the macvtap device.
-
由 Stefan Berger 提交于
This patch sets or unsets the IFF_VNET_HDR flag depending on what device is used in the VM. The manipulation of the flag is done in the open function and is only fatal if the IFF_VNET_HDR flag could not be cleared although it has to be (or if an ioctl generally fails). In that case the macvtap tap is closed again and the macvtap interface torn. * src/qemu/qemu_conf.c src/qemu/qemu_conf.h: pass qemuCmdFlags to qemudPhysIfaceConnect() * src/util/macvtap.c src/util/macvtap.h: add vnet_hdr boolean to openMacvtapTap(), and private function configMacvtapTap() * src/qemu/qemu_driver.c: add extra qemuCmdFlags when calling qemudPhysIfaceConnect()
-
由 Matthew Booth 提交于
Support virtio-serial controller and virtio channel in QEMU backend. Will output the following for virtio-serial controller: -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x4,max_ports=16,vectors=4 and the following for a virtio channel: -chardev pty,id=channel0 \ -device virtserialport,bus=virtio-serial0.0,chardev=channel0,name=org.linux-kvm.port.0 * src/qemu/qemu_conf.c: Add argument output for virtio * tests/qemuxml2argvtest.c tests/qemuxml2argvdata/qemuxml2argv-channel-virtio.args: Add test for QEMU command line generation
-
由 Matthew Booth 提交于
Add support for virtio-serial by defining a new 'virtio' channel target type and a virtio-serial controller. Allows the following to be specified in a domain: <controller type='virtio-serial' index='0' ports='16' vectors='4'/> <channel type='pty'> <target type='virtio' name='org.linux-kvm.port.0'/> <address type='virtio-serial' controller='0' bus='0'/> </channel> * docs/schemas/domain.rng: Add virtio-serial controller and virtio channel type. * src/conf/domain_conf.[ch]: Domain parsing/serialization for virtio-serial controller and virtio channel. * tests/qemuxml2xmltest.c tests/qemuxml2argvdata/qemuxml2argv-channel-virtio.xml: add domain xml parsing test * src/libvirt_private.syms src/qemu/qemu_conf.c: virDomainDefAddDiskControllers() renamed to virDomainDefAddImplicitControllers()
-
- 18 2月, 2010 2 次提交
-
-
由 Cole Robinson 提交于
Currently we just error with ex. 'virbr0: No such device'. Since we are using public API calls here, we need to ensure that any raised error is properly saved and restored, since API entry points always reset messages.
-
由 Stefan Berger 提交于
Rework and simplification of teardown of the macvtap device. Basically all devices with the same MAC address and link device are kept alive and not attempted to be torn down. If a macvtap device linked to a physical interface with a certain MAC address 'M' is to be created it will automatically fail if the interface is 'up'ed and another macvtap with the same properties (MAC addr 'M', link dev) happens to be 'up'. This will prevent the VM from starting or the device from being attached to a running VM. Stale interfaces are assumed to be there for some reason and not stem from libvirt. In the VM shutdown path, it's assuming that an interface name is always available so that if the device type is DIRECT it can be torn down using its name. * src/util/macvtap.h src/libvirt_macvtap.syms: change of deleting routine * src/util/macvtap.c: cleanups and change of deleting routine * src/qemu/qemu_driver.c: change cleanup on shutdown * src/qemu/qemu_conf.c: don't delete Macvtap in qemudPhysIfaceConnect()
-
- 16 2月, 2010 2 次提交
-
-
由 Daniel P. Berrange 提交于
A typo in the check for the primary IDE controller could cause a crash on restore depending on the exact guest config. * src/qemu/qemu_conf.c: Fix s/video/controller/ typo & slot number typo
-
由 Stefan Berger 提交于
This part adds support for qemu making a macvtap tap device available via file descriptor passed to qemu command line. This also attempts to tear down the macvtap device when a VM terminates. This includes support for attachment and detachment to/from running VM. * src/qemu/qemu_conf.[ch] src/qemu/qemu_driver.c: add support in the QEmu driver
-
- 11 2月, 2010 3 次提交
-
-
由 Jiri Denemark 提交于
All other libvirt functions use array first and then number of elements in that array. Let's make cpuDecode follow this rule. Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
-
由 Chris Lalancette 提交于
Signed-off-by: NChris Lalancette <clalance@redhat.com>
-
由 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 4 次提交
-
-
由 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 提交于
* 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 提交于
-
- 09 2月, 2010 3 次提交
-
-
由 Matthias Bolte 提交于
It was used for error reporting only.
-
由 Matthias Bolte 提交于
-
由 Matthias Bolte 提交于
-
- 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 6 次提交
-
-
由 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 提交于
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
-
- 02 2月, 2010 2 次提交
-
-
由 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
-
- 01 2月, 2010 2 次提交
-
-
由 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>
-