1. 02 3月, 2010 9 次提交
    • R
      Fix error messages when parsing USB devices in QEMU · bc0f737d
      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()
      bc0f737d
    • R
      Fix USB hotplug device string in QEMU driver · 06973f70
      Rolf Eike Beer 提交于
      The USB hotplug method was mistakenly generating a PCI address
      string
      
      * src/qemu/qemu_driver.c: Fix USB hotplug device string
      06973f70
    • W
      Use device_del to remove SCSI controllers · 8540dadb
      Wolfgang Mauerer 提交于
      when the underlying qemu supports the drive/device model and the
      controller has been added this way.
      * src/qemu/qemu_driver.c: use qemuMonitorDelDevice() when detaching
        PCI controller and if supported
      * src/qemu/qemu_monitor.[ch]: add new qemuMonitorDelDevice() function
      * src/qemu/qemu_monitor_json.[ch]: JSON backend for DelDevice command
      * src/qemu/qemu_monitor_text.[ch]: Text backend for DelDevice command
      8540dadb
    • W
      Fix PCI address handling when controllers are deleted · 55946f23
      Wolfgang Mauerer 提交于
      * src/qemu/qemu_driver.c: in qemudDomainDetachPciControllerDevice()
        when a controller is not present in the system anymore, the PCI
        address must be deleted from libvirt's hashtable because it can
        be re-used for other purposes.
      55946f23
    • W
      Fix data structure handling when controllers are attached · 24cc058e
      Wolfgang Mauerer 提交于
      * src/qemu/qemu_driver.c: in qemudDomainAttachDevice(), one must not
        delete the data part when the operation succeeds because it is
        required later on. The correct pattern to handlethe parsed
        representation of the device information on success
        is dev->data.controller = NULL; virDomainDeviceDefFree(dev);,
        which leaves the structure pointed at by data in memory.
      24cc058e
    • W
      Tiny spelling fix · 553447ac
      Wolfgang Mauerer 提交于
      553447ac
    • D
      Allow configurable timezones with QEMU · 74042b8f
      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
      74042b8f
    • D
      Support variable clock offset mode in QEMU · 200c83b2
      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.
      200c83b2
    • D
      Change the internal domain conf representation of localtime/utc · eed2f8c3
      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
      eed2f8c3
  2. 01 3月, 2010 2 次提交
  3. 26 2月, 2010 1 次提交
  4. 19 2月, 2010 6 次提交
    • D
      qemu: Check for IA64 kvm · 269556e5
      Dustin Xiong 提交于
      ACPI feature bit dropped: I asked internally if the -no-acpi option
      had any meaning for IA64, and was told 'probably not'.
      269556e5
    • C
      Better error reporting for failed migration · b97c24b2
      Chris Lalancette 提交于
      If the hostname as returned by "gethostname" resolves
      to "localhost" (as it does with the broken Fedora-12
      installer), then live migration will fail because the
      source will try to migrate to itself.  Detect this
      situation up-front and abort the live migration before
      we do any real work.
      
      * src/util/util.h src/util/util.c: add a new virGetHostnameLocalhost
        with an optional localhost check, and rewire virGetHostname() to use
        it
      * src/libvirt_private.syms: expose the new function
      * src/qemu/qemu_driver.c: use it in qemudDomainMigratePrepare2()
      b97c24b2
    • S
      macvtap mac_filter support · b3e7890a
      Stefan Berger 提交于
      This patch adds the mac_filter support to the macvtap device.
      b3e7890a
    • S
      macvtap IFF_VNET_HDR configuration · e52687e8
      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()
      e52687e8
    • M
      Add QEMU support for virtio channel · 3ec09478
      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
      3ec09478
    • M
      Add domain support for virtio channel · 7813a0f8
      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()
      7813a0f8
  5. 18 2月, 2010 4 次提交
    • M
      Fix typo in comment · 27e63c00
      Matthew Booth 提交于
      * src/qemu/qemu_driver.c: qemudStartVMDaemon() fix typo in comment
      27e63c00
    • C
      qemu: Explicitly error if guest virtual network is inactive · 3f745ebe
      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.
      3f745ebe
    • S
      macvtap teardown rework · f162252e
      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()
      f162252e
    • D
      Update QEMU JSON balloon command handling · 6fe15e35
      Daniel P. Berrange 提交于
      The QEMU JSON monitor changed balloon commands to return/accept
      bytes instead of kilobytes. Update libvirt to cope with this
      
      * src/qemu/qemu_monitor_json.c: Expect/use bytes for ballooning
      6fe15e35
  6. 17 2月, 2010 5 次提交
  7. 16 2月, 2010 5 次提交
    • D
      Treat missing QEMU 'thread_id' as non-fatal in JSON monitor · 535db41b
      Daniel P. Berrange 提交于
      The plain QEMU tree does not include 'thread_id' in the JSON
      output. Thus we need to treat it as non-fatal if missing.
      
      * src/qemu/qemu_monitor_json.c: Treat missing thread_id as non-fatal
      535db41b
    • D
      Fix check for primary IDE controller in QEMU PCI slot assignment · 9ab3fac8
      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
      9ab3fac8
    • D
      Make error reporting for QEMU JSON mode more friendly · b6b80095
      Daniel P. Berrange 提交于
      Current error reporting for JSON mode returns the full JSON
      command string and full JSON error string. This is not very
      user friendly, so this change makes the error report only
      contain the basic command name, and friendly error message
      description string. The full JSON data is logged instead.
      
      * src/qemu/qemu_monitor_json.c: Always return the 'desc' field from
        the JSON error message to users.
      b6b80095
    • D
      Run 'qmp_capabilities' command at QEMU monitor startup · 5d72a894
      Daniel P. Berrange 提交于
      When in JSON mode, QEMU requires that 'qmp_capabilities' is run as
      the first command in the monitor. This is a no-op when run in the
      text mode monitor
      
      * src/qemu/qemu_driver.c: Run capabilities negotiation when
        connecting to the monitor
      * src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h,
        src/qemu/qemu_monitor_json.c, src/qemu/qemu_monitor_json.h: Add
        support for the 'qmp_capabilities' command, no-op in text mode.
      5d72a894
    • S
      macvtap support for libvirt -- qemu support · a1b1ab14
      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
      a1b1ab14
  8. 13 2月, 2010 2 次提交
    • D
      Add persistence of PCI addresses to QEMU · 141dea6b
      Daniel P. Berrange 提交于
      Current PCI addresses are allocated at time of VM startup.
      To make them truely persistent, it is neccessary to do this
      at time of virDomainDefine/virDomainCreate. The code in
      qemuStartVMDaemon still remains in order to cope with upgrades
      from older libvirt releases
      
      * src/qemu/qemu_driver.c: Rename existing qemuAssignPCIAddresses
        to qemuDetectPCIAddresses. Add new qemuAssignPCIAddresses which
        does auto-allocation upfront. Call qemuAssignPCIAddresses from
        qemuDomainDefine and qemuDomainCreate to assign PCI addresses that
        can then be persisted. Don't clear PCI addresses at shutdown if
        they are intended to be persistent
      141dea6b
    • D
      Support 'block_passwd' command for QEMU disk encryption · c31a116b
      Daniel P. Berrange 提交于
      The old text mode monitor prompts for a password when disks are
      encrypted. This interactive approach doesn't work for JSON mode
      monitor. Thus there is a new 'block_passwd' command that can be
      used.
      
      * src/qemu/qemu_driver.c: Split out code for looking up a disk
        secret from findVolumeQcowPassphrase, into a new method
        getVolumeQcowPassphrase. Enhance qemuInitPasswords() to also
        set the disk encryption password via the monitor
      * src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h,
        src/qemu/qemu_monitor_json.c, src/qemu/qemu_monitor_json.h,
        src/qemu/qemu_monitor_text.c, src/qemu/qemu_monitor_text.h: Add
        support for the 'block_passwd' monitor command.
      c31a116b
  9. 12 2月, 2010 3 次提交
  10. 11 2月, 2010 3 次提交