1. 03 3月, 2010 5 次提交
    • D
      Introduce public API for cancelling async domain jobs · 4fee63fe
      Daniel P. Berrange 提交于
      The new virDomainAbortJob() method provides a way for a second
      thread to abort an ongoing job run by another thread. This
      extends to any API with  which the virDomainGetJobInfo() API
      is intended to work. Cancellation is not guarenteed, rather best
      effort on part of the hypervisor and not required to be implmented.
      
      * include/libvirt/libvirt.h.in: Define virDomainAbortJob()
      4fee63fe
    • D
      Add QEMU driver support for job info on migration ops · 0d3eee7f
      Daniel P. Berrange 提交于
      Introduce support for  virDomainGetJobInfo in the QEMU driver. This
      allows for monitoring of any API that uses the 'info migrate' monitor
      command. ie virDomainMigrate, virDomainSave and virDomainCoreDump
      
      Unfortunately QEMU does not provide a way to monitor incoming migration
      so we can't wire up virDomainRestore yet.
      
      The virsh tool gets a new command 'domjobinfo' to query status
      
      * src/qemu/qemu_driver.c: Record virDomainJobInfo and start time
        in qemuDomainObjPrivatePtr objects. Add generic shared handler
        for calling 'info migrate' with all migration based APIs.
      * src/qemu/qemu_monitor_text.c: Fix parsing of 'info migration' reply
      * tools/virsh.c: add new 'domjobinfo' command to query progress
      0d3eee7f
    • D
      Remote driver implmentation of job info API · b85a5340
      Daniel P. Berrange 提交于
      * src/remote/remote_protocol.x: Define wire protocol format
        for virDomainGetJobInfo API
      * src/remote/remote_driver.c, daemon/remote.c: Implement client
        and server marshalling code for virDomainGetJobInfo()
      * daemon/remote_dispatch_args.h, daemon/remote_dispatch_prototypes.h
        daemon/remote_dispatch_ret.h, daemon/remote_dispatch_table.h,
        src/remote/remote_protocol.c, src/remote/remote_protocol.h: Rebuild
        files from src/remote/remote_protocol.x
      b85a5340
    • D
      Stub out internal driver entry points for job processing · 92bd859a
      Daniel P. Berrange 提交于
      The internal glue layer for the new pubic API
      
      * src/driver.h: Define internal driver API contract
      * src/libvirt.c, src/libvirt_public.syms: Wire up public
        API to internal driver API
      * src/esx/esx_driver.c, src/lxc/lxc_driver.c, src/opennebula/one_driver.c,
        src/openvz/openvz_driver.c, src/phyp/phyp_driver.c,
        src/qemu/qemu_driver.c, src/remote/remote_driver.c,
        src/test/test_driver.c, src/uml/uml_driver.c, src/vbox/vbox_tmpl.c,
        src/xen/xen_driver.c: Stub new entry point
      92bd859a
    • D
      Introduce public API for domain async job handling · 7d575e09
      Daniel P. Berrange 提交于
      Introduce a new public API that provides a way to get progress
      info on currently running jobs on a virDomainpPtr. APIs that
      are initially within scope of this idea are
      
       virDomainMigrate
       virDomainMigrateToURI
       virDomainSave
       virDomainRestore
       virDomainCoreDump
      
      These all take a potentially long time and benefit from monitoring.
      The virDomainJobInfo struct allows for various pieces of information
      to be reported
      
       - Percentage completion
       - Time
       - Overall data
       - Guest memory data
       - Guest disk/file data
      
      * include/libvirt/libvirt.h.in: Add virDomainGetJobInfo
      * python/generator.py, python/libvirt-override-api.xml,
        python/libvirt-override.c: Override for virDomainGetJobInfo API
      * python/typewrappers.c, python/typewrappers.h: Introduce wrapper
        for unsigned long long type
      7d575e09
  2. 02 3月, 2010 19 次提交
    • E
      build: silence coverity warning in node_device · 84ef5aec
      Eric Blake 提交于
      All other uses of get_str_prop in this file that ignored
      failure explicitly cast to void.
      
      * src/node_device/node_device_hal.c (dev_create): Silence coverity
      warning.
      84ef5aec
    • 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
    • E
      libvirtd: avoid false-positive NULL-deref warning from clang · 66d70a8f
      Eric Blake 提交于
      * daemon/libvirtd.c (qemudWorker): Rewrite loop to silence a
      warning.
      66d70a8f
    • J
      x86Decode: avoid NULL-dereference upon questionable input · e749d776
      Jim Meyering 提交于
      * src/cpu/cpu_x86.c (x86Decode): Don't dereference NULL when passed
      a NULL "models" pointer, or when passed a nonzero "nmodels" value
      and a corresponding NULL models[i].
      e749d776
    • J
      phypUUIDTable_Push: do not corrupt output stream upon partial write · 23e93d95
      Jim Meyering 提交于
      * src/phyp/phyp_driver.c (phypUUIDTable_Push): Move incr/decr
      of ptr/nread into the loop where those variables are used.
      Also, remove "exit" label and just-preceding "goto".
      23e93d95
    • J
      openvzDomainDefineCmd: remove useless increment · 77d118b4
      Jim Meyering 提交于
      * src/openvz/openvz_driver.c (openvzDomainDefineCmd): Remove
      useless increment of "max_veid".
      77d118b4
    • J
      maint: disallow TAB-in-indentation also in *.rng files · 27efcfb7
      Jim Meyering 提交于
      * cfg.mk (sc_TAB_in_indentation): Also check .rng files.
      27efcfb7
    • J
      maint: convert leading TABs in *.rng files to equivalent spaces · aa7847d3
      Jim Meyering 提交于
      * docs/schemas/capability.rng: Likewise.
      * docs/schemas/network.rng: Likewise.
      * docs/schemas/nodedev.rng: Likewise.
      * docs/schemas/storagepool.rng: Likewise.
      * docs/schemas/storagevol.rng: Likewise.
      Use these commands:
      t=$'\t'
      git ls-files | grep '\.rng$' | xargs grep -lE "^ *$t" \
        | xargs perl -MText::Tabs -ni -le \
          '$m=/^( *\t[ \t]*)(.*)/; print $m ? expand($1) . $2 : $_'
      aa7847d3
    • D
      Expand docs about clock modes · 20578bda
      Daniel P. Berrange 提交于
      * formatdomain.html.in: Document new clock options
      20578bda
    • 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
      Allow a timezone to be specified instead of sync to host timezone · e4d7433e
      Daniel P. Berrange 提交于
      This extends the XML to allow for
      
        <clock offset='timezone' timezone='Europe/Paris'/>
      
      This is useful if the admin has not configured any timezone on the
      host OS, but still wants to synchronize a guest to a specific one.
      
      * src/conf/domain_conf.h, src/conf/domain_conf.c: Support extra
        'timezone' attribute on clock configuration
      * docs/schemas/domain.rng: Add 'timezone' attribute
      * src/xen/xend_internal.c, src/xen/xm_internal.c: Reject configs
        with a configurable timezone
      e4d7433e
    • 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
      Add new clock mode allowing variable adjustments · b9e2967a
      Daniel P. Berrange 提交于
      This introduces a third option for clock offset synchronization,
      that allows an arbitrary / variable adjustment to be set. In
      essence the XML contains the time delta in seconds, relative to
      UTC.
      
        <clock offset='variable' adjustment='123465'/>
      
      The difference from 'utc' mode, is that management apps should
      track adjustments and preserve them at next reboot.
      
      * docs/schemas/domain.rng: Schema for new clock mode
      * src/conf/domain_conf.c, src/conf/domain_conf.h: Parse
        new clock time delta
      * src/libvirt_private.syms, src/util/xml.c, src/util/xml.h: Add
        virXPathLongLong() method
      b9e2967a
    • 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
  3. 01 3月, 2010 6 次提交
  4. 26 2月, 2010 1 次提交
  5. 27 2月, 2010 3 次提交
  6. 26 2月, 2010 6 次提交
    • C
      Only build virDomainObjFormat if not building proxy. · 1204e41f
      Chris Lalancette 提交于
      While building under RHEL-5, I got a compile warning because
      virDomainObjFormat was defined but not used.  That came about
      because in RHEL-5 we build with "#define PROXY", and
      virDomainObjFormat is only used with !PROXY.  Move the
      define.
      Signed-off-by: NChris Lalancette <clalance@redhat.com>
      1204e41f
    • J
      openvzGetVEID: don't leak (memory + file descriptor) · f3439c7e
      Jim Meyering 提交于
      * src/openvz/openvz_conf.c (openvzGetVEID): Always call fclose.
      Diagnose parse failure also when vzlist output is empty.
      If somehow we read a -1, diagnose that (albeit as a parse failure).
      f3439c7e
    • C
      Use standard spacing for user/pass prompt · 8ac0334e
      Cole Robinson 提交于
      Kind of minor, but it annoys me that the default auth callback
      doesn't put a space between the prompt and the input, like a typical
      terminal, ssh, etc. This patch changes the current prompt:
      
      Please enter your authentication name:myuser
      
      to
      
      Please enter your authentication name: myuser
      8ac0334e
    • C
      libvirtd: Better initscript error reporting · b39c2068
      Cole Robinson 提交于
      From time to time I bork my install, and hate it when the initscript
      returns no info. This patch removes the sanity check, which lets
      the shell give us 'command not found' or 'permission denied' errors.
      b39c2068
    • C
      qemu: Report binary path if error parsing -help · a09af3b0
      Cole Robinson 提交于
      a09af3b0
    • C
      remote: Improve daemon startup error reporting · 67b2eb10
      Cole Robinson 提交于
      If I toggle enable_tcp in libvirtd.conf and add --listen in
      /etc/init.d/libvirtd, I get the unhelpful error:
      
      Starting libvirtd daemon: error: Unable to initialize network sockets.
      
      Running without --daemon provides much more useful info:
      
      sudo libvirtd --listen
      11:29:26.117: error : remoteCheckCertFile:270 : Cannot access CA certificate '/etc/pki/CA/cacert.pem': No such file or directory
      
      The daemon architecture makes it difficult to report this useful
      info if daemonized, so point users to /var/log/messages and
      dropping the --daemon flag if they want more info.
      67b2eb10