1. 10 11月, 2009 7 次提交
    • D
      Move encryption lookup back into qemu driver file · 4604c18f
      Daniel P. Berrange 提交于
      Decouple the monitor code from the virDomainDefPtr structure
      by moving the disk encryption lookup code back into the
      qemu_driver.c file. Instead provide a function callback to
      the monitor code which can be invoked to retrieve encryption
      data as required.
      
      * src/qemu/qemu_driver.c: Add findDomainDiskEncryption,
        and findVolumeQcowPassphrase. Pass address of the method
        findVolumeQcowPassphrase into qemuMonitorOpen()
      * src/qemu/qemu_monitor.c: Associate a disk
        encryption function callback with the qemuMonitorPtr
        object.
      * src/qemu/qemu_monitor_text.c: Remove findDomainDiskEncryption
        and findVolumeQcowPassphrase.
      4604c18f
    • D
      Make use of private data structure for monitor state · 1cfd5a00
      Daniel P. Berrange 提交于
      Introduce a new qemuDomainObjPrivate object which is used to store
      the private QEMU specific data associated with each virDomainObjPtr
      instance. This contains a single member, an instance of the new
      qemuMonitorPtr object which encapsulates the QEMU monitor state.
      The internals of the latter are private to the qemu_monitor* files,
      not to be shown to qemu_driver.c
      
      * src/qemu/qemu_conf.h: Definition of qemuDomainObjPrivate.
      * src/qemu/qemu_driver.c: Register a functions for creating
        and freeing qemuDomainObjPrivate instances with the domain
        capabilities. Remove the qemudDispatchVMEvent() watch since
        I/O watches are now handled by the monitor code itself. Pass
        a new qemuHandleMonitorEOF() callback into qemuMonitorOpen
        to allow notification when the monitor quits.
      * src/qemu/qemu_monitor.c, src/qemu/qemu_monitor.h: Introduce
        the 'qemuMonitor' object. Temporarily add new APIs
        qemuMonitorWrite, qemuMonitorRead, qemuMonitorWaitForInput
        to allow text based monitor impl to perform I/O.
      * src/qemu/qemu_monitor_text.c: Call APIs for reading/writing
        to monitor instead of accessing the file handle directly.
      1cfd5a00
    • D
      Move code for low level QEMU monitor interaction into separate file · ff261941
      Daniel P. Berrange 提交于
      The qemu_driver.c code should not contain any code that interacts
      with the QEMU monitor at a low level. A previous commit moved all
      the command invocations out. This change moves out the code which
      actually opens the monitor device.
      
      * src/qemu/qemu_driver.c: Remove qemudOpenMonitor & methods called
        from it.
      * src/Makefile.am: Add qemu_monitor.{c,h}
      * src/qemu/qemu_monitor.h: Add qemuMonitorOpen()
      * src/qemu/qemu_monitor.c: All code for opening the monitor
      ff261941
    • D
      Add a new timed condition variable wait API · e40438fa
      Daniel P. Berrange 提交于
      * src/util/threads.h, src/util/threads-pthread.c,
        src/libvirt_private.syms: Add virCondWaitUntil()
      e40438fa
    • D
      Fix errno handling for pthreads wrappers · 15a91446
      Daniel P. Berrange 提交于
      * src/util/threads-pthread.c: pthreads APIs do not set errno, instead
        the return value is the positive errno. Set errno based on the return
        value in the wrappers
      15a91446
    • D
      Make pciDeviceList struct opaque · dd9e9c3b
      Daniel P. Berrange 提交于
      * src/util/pci.c, src/util/pci.h: Make the pciDeviceList struct
        opaque to callers of the API. Add accessor methods for managing
        devices in the list
      * src/qemu/qemu_driver.c: Update to use APIs instead of directly
        accessing pciDeviceList fields
      dd9e9c3b
    • M
      Add missing OOM error checks, reports and cleanups · 790f0b30
      Matthias Bolte 提交于
      790f0b30
  2. 09 11月, 2009 3 次提交
  3. 08 11月, 2009 2 次提交
  4. 07 11月, 2009 12 次提交
  5. 06 11月, 2009 12 次提交
  6. 05 11月, 2009 4 次提交
    • M
      Ensure guestfwd address is IPv4 and various cleanups · 3023ec5e
      Matthew Booth 提交于
      * include/libvirt/virterror.h src/util/virterror.c: add a new error
        VIR_ERR_CONFIG_UNSUPPORTED for valid but unsupported configuration options
      * src/conf/domain_conf.c: Throw an error if guestfwd address isn't IPv4
        and cleanup a number of parsing return error values.
      3023ec5e
    • D
      Forgot test case on previous commit · bea92f96
      Daniel Veillard 提交于
      bea92f96
    • M
      Support for <channel> in domain and QEmu backend · af249ea4
      Matthew Booth 提交于
      allows the following to be specified in a domain:
      <channel type='pipe'>
        <source path='/tmp/guestfwd'/>
        <target type='guestfwd' address='10.0.2.1' port='4600'/>
      </channel>
      
      * proxy/Makefile.am: add network.c as dep of domain_conf.c
      * docs/schemas/domain.rng src/conf/domain_conf.[ch]: extend the domain
        schemas and the parsing/serialization side for the new construct
      
      QEmu support will add the following on the qemu command line:
       -chardev pipe,id=channel0,path=/tmp/guestfwd
       -net user,guestfwd=tcp:10.0.2.1:4600-chardev:channel0
      
      * src/qemu/qemu_conf.c: Add argument output for channel
      * tests/qemuxml2(argv|xml)test.c: Add test for <channel> domain syntax
      af249ea4
    • M
      Detect availability of QEMU -chardev CLI option · 74003968
      Matthew Booth 提交于
      * src/qemu/qemu_conf.h: defines a new QEMUD_CMD_FLAG_CHARDEV flag
      * src/qemu/qemu_conf.c: parse the output for -chardev and set flag
        appropriately
      74003968