1. 10 11月, 2010 2 次提交
    • S
      bye to close(), welcome to VIR_(FORCE_)CLOSE() · 60ae1c34
      Stefan Berger 提交于
      Using automated replacement with sed and editing I have now replaced all
      occurrences of close() with VIR_(FORCE_)CLOSE() except for one, of
      course. Some replacements were straight forward, others I needed to pay
      attention. I hope I payed attention in all the right places... Please
      have a look. This should have at least solved one more double-close
      error.
      60ae1c34
    • M
      esx: Add support for memtune/min_guarantee · 809926db
      Matthias Bolte 提交于
      Also add a test case for the VMX handling of it.
      809926db
  2. 09 11月, 2010 13 次提交
    • D
      Support SPICE channel security options · b0ef5c53
      Daniel P. Berrange 提交于
      This extends the SPICE XML to allow channel security options
      
          <graphics type='spice' port='-1' tlsPort='-1' autoport='yes'>
            <channel name='main' mode='secure'/>
            <channel name='record' mode='insecure'/>
          </graphics>
      
      Any non-specified channel uses the default, which allows both
      secure & insecure usage
      
      * src/conf/domain_conf.c, src/conf/domain_conf.h,
        src/libvirt_private.syms: Add XML syntax for specifying per
        channel security options for spice.
      * src/qemu/qemu_conf.c: Configure channel security with spice
      b0ef5c53
    • D
      Support multiple QXL video cards · 6794a44b
      Daniel P. Berrange 提交于
      QEMU crashes & burns if you try multiple Cirrus video cards, but
      QXL copes fine. Adapt QEMU config code to allow multiple QXL
      video cards
      
      * src/qemu/qemu_conf.c: Support multiple QXL video cards
      6794a44b
    • D
      Define XML syntax for password expiry · 7a696678
      Daniel P. Berrange 提交于
      This extends the XML syntax for <graphics> to allow a password
      expiry time to be set
      
      eg
      
        <graphics type='vnc' port='5900' autoport='yes' keymap='en-us' passwd='12345' passwdValidTo='2010-04-09T15:51:00'/>
      
      The timestamp is in UTC.
      
      * src/conf/domain_conf.h: Pull passwd out into separate struct
        virDomainGraphicsAuthDef to allow sharing between VNC & SPICE
      * src/conf/domain_conf.c: Add parsing/formatting of new passwdValidTo
        argument
      * src/opennebula/one_conf.c, src/qemu/qemu_conf.c, src/qemu/qemu_driver.c,
        src/xen/xend_internal.c, src/xen/xm_internal.c: Update for changed
        struct containing VNC password
      7a696678
    • D
      Add SPICE support for QEMU driver configuration file · b5c99209
      Daniel P. Berrange 提交于
      In common with VNC, the QEMU driver configuration file is used
      specify the host level TLS certificate location and a default
      password / listen address
      
      * src/qemu/qemu.conf: Add spice_listen, spice_tls,
        spice_tls_x509_cert_dir & spice_password config params
      * src/qemu/qemu_conf.c, src/qemu/qemu_conf.h: Parsing of
        spice config parameters and updating -spice arg generation
        to use them
      * tests/qemuxml2argvdata/qemuxml2argv-graphics-spice-rhel6.args,
        tests/qemuxml2argvtest.c: Expand test case to cover driver
        level configuration
      b5c99209
    • D
      Support automatic port number allocation for SPICE · ed0d9f6c
      Daniel P. Berrange 提交于
      * src/qemu/qemu_driver.c: Allocate the TCP ports for SPICE
        before starting guest
      ed0d9f6c
    • D
      Implement QEMU/KVM support for SPICE graphics · 9b57fa65
      Daniel P. Berrange 提交于
      This supports the -spice argument posted for review against
      the latest upstream QEMU/KVM. This supports the bare minimum
      config with port, TLS port & listen address. The x509 bits are
      added in a later patch.
      
      * src/qemu_conf.c, src/qemu_conf.h: Add SPICE flag. Check for
        -spice availability. Format -spice arg for command line
      * qemuhelptest.c: Add SPICE flag
      * qemuxml2argvdata/qemuxml2argv-graphics-spice.args: Add <graphics>
        for spice
      * qemuxml2argvdata/qemuxml2argv-graphics-spice.xml: Add -spice arg
      * qemuxml2argvtest.c: Add SPICE flag
      9b57fa65
    • D
      Implement QEMU/KVM QXL video card support in QEMU driver · 635f9ca1
      Daniel P. Berrange 提交于
      This supports the '-vga qxl' parameter in upstream QEMU/KVM
      which has SPICE support added. This isn't particularly useful
      until you get the next patch for -spice support. Also note that
      while the libvirt XML supports multiple video devices, this
      patch only supports a single one. A later patch can add support
      for 2nd, 3rd, etc PCI devices for QXL
      
      * src/qemu/qemu_conf.h: Flag for QXL support
      * src/qemu/qemu_conf.c: Probe for '-vga qxl' support and implement it
      * tests/qemuxml2argvtest.c, tests/qemuxml2xmltest.c,
        tests/qemuxml2argvdata/qemuxml2argv-graphics-spice.args,
        tests/qemuxml2argvdata/qemuxml2argv-graphics-spice.xml: Test
        case for generating spice args with RHEL6 kvm
      635f9ca1
    • D
      Add a <graphics> type for SPICE protocol · c909091b
      Daniel P. Berrange 提交于
      This adds an element
      
       <graphics type='spice' port='5903' tlsPort='5904' autoport='yes' listen='127.0.0.1'/>
      
      This is the bare minimum that should be exposed in the guest
      config for SPICE. Other parameters are better handled as per
      host level configuration tunables
      
      * docs/schemas/domain.rng: Define the SPICE <graphics> schema
      * src/domain_conf.h, src/domain_conf.c: Add parsing and formatting
        for SPICE graphics config
      * src/qemu_conf.c: Complain about unsupported graphics types
      c909091b
    • D
      Add a QXL graphics card type to domain XML schema · 3cf5b6f7
      Daniel P. Berrange 提交于
      * src/qemu_conf.c: Add dummy entry in enumeration
      * docs/schemas/domain.rng: Add 'qxl' as a type for the <video> tag
      * src/domain_conf.c, src/domain_conf.h: Add QXL to video type
        enumerations
      3cf5b6f7
    • J
      qemu: Fix non-literal format string · 0011e917
      Jiri Denemark 提交于
      0011e917
    • M
      xen-proxy: Remove it entirely and use libvirtd instead · e65812d4
      Matthias Bolte 提交于
      Suggested by danpb, as it's not up-to-date anymore and
      lacks many functions that were added to libvirtd.
      e65812d4
    • M
      lxc: Exit on first error in lxcDomainGetMemoryParameters · c3697a0e
      Matthias Bolte 提交于
      There is no point in trying to fill params beyond the first error,
      because when lxcDomainGetMemoryParameters returns -1 then the caller
      cannot detect which values in params are valid.
      c3697a0e
    • M
      Allow virDomainGetMemoryParameters on read-only connections · 9562ca3f
      Matthias Bolte 提交于
      Also fix a typo in the documentation of the function.
      9562ca3f
  3. 08 11月, 2010 5 次提交
    • D
      Add sysinfo/smbios support to the QEmu driver · 54c0237c
      Daniel Veillard 提交于
      The patch is based on the possiblity in the QEmu command line to
      add -smbios options allowing to override the default values picked
      by QEmu. We need to detect this first from QEmu help output.
      If the domain is defined with smbios to be inherited from host
      then we pass the values coming from the Host own SMBIOS, but
      if the domain is defined with smbios to come from sysinfo, we
      use the ones coming from the domain definition.
      
      * src/qemu/qemu_conf.h: add the QEMUD_CMD_FLAG_SMBIOS_TYPE enum
        value
      * src/qemu/qemu_conf.c: scan the help output for the smbios support,
        and if available add support based on the domain definitions,
        and host data
      * tests/qemuhelptest.c: add the new enum in the outputs
      54c0237c
    • D
      Read the host sysinfo for the QEmu driver · 1e4c4599
      Daniel Veillard 提交于
      Read and store the data when initializing the driver.
      1e4c4599
    • D
      Add a sysinfo util module and read host info API · 778c0976
      Daniel Veillard 提交于
      Move existing routines about virSysinfoDef to an util module,
      add a new entry point virSysinfoRead() to read the host values
      with dmidecode
      
      * src/conf/domain_conf.c src/conf/domain_conf.h src/util/sysinfo.c
        src/util/sysinfo.h: move to a new module, add virSysinfoRead()
      * src/Makefile.am: handle the new module build
      * src/libvirt_private.syms: new internal symbols
      * include/libvirt/virterror.h src/util/virterror.c: defined a new
        error code for that module
      * po/POTFILES.in: add new file for translations
      778c0976
    • D
      Add smbios element to schema and configuration to HVM os · d528b52f
      Daniel Veillard 提交于
      the element has a mode attribute allowing only 3 values:
        - emulate: use the smbios emulation from the hypervisor
        - host: try to use the smbios values from the node
        - sysinfo: grab the values from the <sysinfo> fields
      
      * docs/schemas/domain.rng: extend the schemas
      * src/conf/domain_conf.h: add the flag to the domain config
      * src/conf/domain_conf.h: parse and serialize the smbios if present
      d528b52f
    • D
      Sysinfo parsing and saving to/from configuration files · ebb7a0dd
      Daniel Veillard 提交于
      * src/conf/domain_conf.h: defines a new internal type added to the
        domain structure
      * src/conf/domain_conf.c: parsing and serialization of that new type
      ebb7a0dd
  4. 06 11月, 2010 1 次提交
  5. 03 11月, 2010 4 次提交
    • S
      macvtap: libvirtd forgot macvtap dev name when restarted · c4bd44d9
      Stefan Berger 提交于
      During a shutdown/restart cycle libvirtd forgot the macvtap device name that it had created on behalf of a VM so that a stale macvtap device remained on the host when the VM terminated. Libvirtd has to actively tear down a macvtap device and it uses its name for identifying which device to tear down.
      
      The solution is to not blank out the <target dev='...'/> completely, but only blank it out on VMs that are not active. So, if a VM is active, the device name makes it into the XML and is also being parsed. If a VM is not active, the device name is discarded.
      c4bd44d9
    • D
      Fix virPipeReadUntilEOF on more than 1024 bytes of data · 04cbfa4f
      Daniel Veillard 提交于
      virPipeReadUntilEOF is used to read the stdout of exec'ed
      and this could fail to capture the full output and read only
      1024 bytes.
        The problem is that this is based on a poll loop, and in the
      loop we read at most 1024 bytes per file descriptor, but we also
      note in the loop if poll indicates that the process won't output
      more than that on that fd by setting finished[i] = 1.
        The simplest way is that if we read a full buffer make sure
      finished[i] is still 0 because we will need another pass in the
      loop.
      04cbfa4f
    • E
      virterror: supply missing spaces · b50408c1
      Eric Blake 提交于
      * src/util/virterror.c (virErrorDomainName): Always supply
      trailing space if category was present.
      b50408c1
    • E
      xen: work with xen 4.0.1 headers · 8dd22be9
      Eric Blake 提交于
      * src/xen/xen_driver.h (includes): Include main xen headers
      here...
      * src/xen/xs_internal.c (includes): ...rather than in just one of
      the sub-drivers.
      8dd22be9
  6. 02 11月, 2010 9 次提交
    • D
      Change calling conventions in remote driver client internals · a75cf152
      Daniel P. Berrange 提交于
      The remoteIO() method has wierd calling conventions, where
      it is passed a pre-allocated 'struct remote_call *' but
      then free()s it itself, instead of letting the caller free().
      This fixes those weird semantics
      
      * src/remote/remote_driver.c: Sanitize semantics of remoteIO
        method wrt to memory release
      a75cf152
    • D
      Misc error handling fixes in text mode monitor commands · a1de6ba0
      Daniel P. Berrange 提交于
      A couple of places in the text monitor were overwriting the
      'ret' variable with a >= 0 value before success was actually
      determined. So later error paths would not correctly return
      the -1 value. The drive_add code was not checking for errors
      like missing command
      
      * src/qemu/qemu_monitor_text.c: Misc error handling fixes
      a1de6ba0
    • D
      Ignore open failures when relabelling disk images · 347d266c
      Daniel P. Berrange 提交于
      NFS in root squash mode may prevent opening disk images to
      determine backing store. Ignore errors in this scenario.
      
      * src/security/security_selinux.c: Ignore open failures on disk
        images
      347d266c
    • D
      Treat failure to relabel stdin_path as non-fatal on NFS · 93a18bba
      Daniel P. Berrange 提交于
      NFS does not support file labelling, so ignore this error
      for stdin_path when on NFS.
      
      * src/security/security_selinux.c: Ignore failures on labelling
        stdin_path on NFS
      * src/util/storage_file.c, src/util/storage_file.h: Refine
        virStorageFileIsSharedFS() to allow it to check for a
        specific FS type.
      93a18bba
    • D
      Revert commit 06f81c63 · a51ccaf8
      Daniel P. Berrange 提交于
      Commit 06f81c63 attempted to make
      QEMU driver ignore the failure to relabel 'stdin_path' if it was
      on NFS. The actual result was that it ignores *all* failures to
      label any aspect of the VM, unless stdin_path is non-NULL and
      is not on NFS.
      
      * src/qemu/qemu_driver.c: Treat all relabel failures as terminal
      a51ccaf8
    • J
      Fix several warnings about a non-literal format string · 53618145
      Jiri Denemark 提交于
      They only popped up during --disable-nls build. Without this configure
      option, gcc wasn't able to detect them.
      53618145
    • O
      util: Add helper function to build timestamp string · af3ba2cd
      Osier Yang 提交于
      * src/util/util.h
      * src/util/util.c
      * src/libvirt_private.syms
      af3ba2cd
    • E
      build: avoid compiler warning in xen code · b164db62
      Eric Blake 提交于
      * src/xen/xend_internal.c (xenDaemonFormatSxpr): Hoist verify
      outside of function to avoid a -Wnested-externs warning.
      * src/xen/xm_internal.c (xenXMDomainConfigFormat): Likewise.
      Reported by Daniel P. Berrange.
      b164db62
    • D
      qemu: add the USB devices to the cgroup whitelist · 5919afe3
      Diego Elio Pettenò 提交于
      Make sure that the QEmu process within the cgroup can access the device
      file for the USB device that has to be connected to the virtual domain.
      5919afe3
  7. 01 11月, 2010 1 次提交
    • E
      xen: work with ia64 MAX_VIRT_CPUS of 64 · dc27e089
      Eric Blake 提交于
      * src/xen/xen_hypervisor.c (MAX_VIRT_CPUS): Move...
      * src/xen/xen_driver.h (MAX_VIRT_CPUS): ...so all xen code can see
      same value.
      * src/xen/xend_internal.c (sexpr_to_xend_domain_info)
      (xenDaemonDomainGetVcpusFlags, xenDaemonParseSxpr)
      (xenDaemonFormatSxpr): Work if MAX_VIRT_CPUS is 64 on a platform
      where long is 64-bits.
      * src/xen/xm_internal.c (xenXMDomainConfigParse)
      (xenXMDomainConfigFormat): Likewise.
      dc27e089
  8. 30 10月, 2010 2 次提交
    • K
    • K
      add compression support for "virsh dump" · 95a17abd
      KAMEZAWA Hiroyuki 提交于
      Add dump_image_format[] to qemu.conf and support compressed dump
      at virsh dump. coredump compression is important for saving disk space
      in an environment where multiple guests run.
      
      In general, "disk space for dump" is specially allocated and will be
      a dead space in the system. It's used only at emergency. So, it's better
      to have both of save_image_format and dump_image_format. "save" is done
      in scheduled manner with enough calculated disk space for it.
      
      This code reuses some of save_image_format[] and supports the same format.
      
      Changelog:
       - modified libvirtd_qemu.aug
       - modified test_libvirtd_qemu.aug
       - fixed error handling of qemudSaveCompressionTypeFromString()
      95a17abd
  9. 29 10月, 2010 3 次提交