1. 08 1月, 2010 2 次提交
    • D
      Qemu: ask for memory preallocation with large pages · edcae5a7
      Daniel Veillard 提交于
      The -mem-prealloc flag should be used when using large pages
      This ensures qemu tries to allocate all required memory immediately,
      rather than when first used. The latter mode will crash qemu
      if hugepages aren't available when accessed, while the former
      should gracefully fallback to non-hugepages.
      
      * src/qemu/qemu_conf.c: add -mem-prealloc flag to qemu command line
        when using large pages
      edcae5a7
    • J
      xen hypervisor: xen domctl version 6 · 98ea78b6
      Jim Fehlig 提交于
      xen-unstable c/s 20685 changed the domctl interface, adding a field to
      xen_domctl_getdomaininfo structure.  This additional field causes stack
      corruption in libvirt.  xen-unstable c/s 20711 rightly bumped the domctl
      interface version so it is at least possible to handle the new field.
      This change accounts for shr_pages field added to xen_domctl_getdomaininfo
      structure.
      98ea78b6
  2. 07 1月, 2010 11 次提交
    • J
      network/bridge_driver.c: avoid potential NULL-dereference · 65160f50
      Jim Meyering 提交于
      * src/network/bridge_driver.c (networkBuildDnsmasqArgv): Correct
      test for NULL *argv.
      65160f50
    • M
      esx: Fix 'vpx' MAC address range and allow arbitrary MAC addresses · 96ceb124
      Matthias Bolte 提交于
      The MAC addresses with 00:50:56 prefix are split into several ranges:
      
        00:50:56:00:00:00 - 00:50:56:3f:ff:ff  'static' range (manually assigned)
        00:50:56:80:00:00 - 00:50:56:bf:ff:ff  'vpx' range (assigned by a VI Client)
      
      Erroneously the 'vpx' range was assumed to be larger and to occupy the
      remaining addresses of the 00:50:56 prefix that are not part of the 'static'
      range.
      
      00:50:56 was used as prefix for generated MAC addresses, this is not possible
      anymore, because there are gaps in the allowed ranges. Therefore, change the
      prefix to 00:0c:29 which is the prefix for auto generated MAC addresses anyway.
      
      Allow arbitrary MAC addresses to be used and set the checkMACAddress VMX option
      to false in case the MAC address doesn't fall into any predefined range.
      
      * docs/drvesx.html.in: update website accordingly
      * src/esx/esx_driver.c: set the auto generation prefix to 00:0c:29
      * src/esx/esx_vmx.c: fix MAC address range handling and allow arbitrary MAC
        addresses
      * tests/vmx2xml*, tests/xml2vmx*: add some basic MAC address range tests
      96ceb124
    • M
    • M
      esx: Fix and improve the libcurl debug callback · d9734072
      Matthias Bolte 提交于
      The data passed to the callback is not guaranteed to be zero terminated,
      take care of that by coping the data and adding a zero terminator.
      
      Also dump the data for other types than CURLINFO_TEXT.
      
      Set CURLOPT_VERBOSE to 1 so the debug callback is called when enabled.
      d9734072
    • M
      esx: Don't warn about an empty URI path · b0367e86
      Matthias Bolte 提交于
      b0367e86
    • M
      esx: Also allow virtualHW version 4 for ESX 4.0 · 44112bce
      Matthias Bolte 提交于
      A domain with virtualHW version 4 is allowed on an ESX 4.0 server.
      If a domain is migrated from an ESX 3.5 server to an ESX 4.0 server
      then the virtualHW version stays the same. So a ESX 4.0 server can
      host domains with virtualHW version 4.
      44112bce
    • M
      Don't free an uninitalized pointer in update_driver_name() · 338e7c3c
      Matthias Bolte 提交于
      This invalid free results in heap corruption. Some symptoms I saw
      because of this were libvirtd crashing and virt-manager hanging
      while trying to enumerate devices.
      338e7c3c
    • J
      xend_internal: don't let invalid input provoke NULL dereference · 7679f064
      Jim Meyering 提交于
      * src/xen/xend_internal.c (xenDaemonOpen_unix): Do not dereference
      a NULL "conn".  Move first deref to follow the "conn == NULL" test.
      7679f064
    • A
      qemu: Always enable the virtio balloon driver · 7a90f216
      Adam Litke 提交于
      The behavior for the qemu balloon device has changed.  Formerly, a virtio
      balloon device was provided by default.  Now, '-balloon virtio' must be
      specified on the command line to enable it.  This patch causes libvirt to
      add '-balloon virtio' to the command line whenever the -balloon option is
      available.
      * src/qemu/qemu_conf.c src/qemu/qemu_conf.h: check for the new flag and
        add "-baloon vitio" to qemu command when needed
      * tests/qemuhelptest.c: add the new flag for detection
      7a90f216
    • D
      Don't update vol details after build · 1c06eb18
      David Allan 提交于
      This patch removes the call to vol update after the volume build completes.
      The update call is currently meaningless anyway because the vol build is passed
      a copy of the definition, so the update result is thrown away.  More
      importantly, if the user specified a selinux label for the volume, the update
      call results in a double free of the label
      * src/storage/storage_backend_fs.c: remove the update call
      1c06eb18
    • M
      Fix parsing of 'info chardev' line endings · c0a9b6a5
      Matthew Booth 提交于
      This change makes the 'info chardev' parser ignore any trailing
      whitespace on a line. This fixes a specific problem handling a '\r\n'
      line ending.
      
      * src/qemu/qemu_monitor_text.c: Ignore trailing whitespace in
        'info chardev' output.
      c0a9b6a5
  3. 06 1月, 2010 4 次提交
  4. 05 1月, 2010 1 次提交
  5. 23 12月, 2009 5 次提交
  6. 22 12月, 2009 11 次提交
    • O
      fix some error report when on remote access · 54f868c1
      Olivier Fourdan 提交于
      When querying about a domain from 0.3.3 (or RHEL 5.3) domain located
      on a 0.6.3 (RHEL-5) machine, the errors are not properly reported.
      This patch from Olivier Fourdan <ofourdan@redhat.com> , slightly
      modified to not change the semantic when the domain os details cannot
      be provided
      
      * src/xen/proxy_internal.c src/xen/xen_hypervisor.c: add some missing
        error reports
      54f868c1
    • M
      Fix undefined reference to 'close_used_without_including_unistd_h' · 457d4ad9
      Matthias Bolte 提交于
      Found while trying to cross-compile libvirt on Fedora 12 for Windows.
      gnulib redefines 'close' to 'close_used_without_including_unistd_h'
      in sys/socket.h if winsock2.h is present and unistd.h has not been
      included before sys/socket.h. Reorder some includes to fix this.
      457d4ad9
    • M
      9501a45f
    • M
      Define ATTRIBUTE_SENTINEL for GCC < 4.0 too · a3bd8bbb
      Matthias Bolte 提交于
      ATTRIBUTE_SENTINEL was defined for GCC >= 4.0 only, resulting in
      compile errors when using GCC < 4.0.
      a3bd8bbb
    • M
      Fix compilation with configure --disable-nls · d4c1e5ae
      Matthias Bolte 提交于
      d4c1e5ae
    • M
      cpu: Fix memory leaks in x86FeatureLoad and x86ModelLoad · 434daaff
      Matthias Bolte 提交于
      Also backup and restore the original ctxt->node value in x86FeatureLoad.
      434daaff
    • D
      Disable JSON mode monitor until QEMU is more mature · 27c357bc
      Daniel P. Berrange 提交于
      * src/qemu/qemu_conf.h: Remove QEMU_CMD_FLAG_0_12 and just leave
        the lone JSON flag
      * src/qemu/qemu_conf.c: Enable JSON on QEMU 0.13 or later, but
        leave it disabled for now
      27c357bc
    • J
      Only probe for CPU models if required · 8153c72b
      Jiri Denemark 提交于
      * src/qemu/qemu_conf.c: CPU models should be probed only if the
        a guest's XML contains CPU model, not each time a qemu command line
        is generated.
      8153c72b
    • J
      Install cpu_map.xml · bfeeb9a6
      Jiri Denemark 提交于
      * src/Makefile.am: install it in $(pkgdatadir) i.e. /usr/share/libvirt/
        usually
      bfeeb9a6
    • C
      Make Xen VT-d PCI attach/detach work · e9f468d3
      Chris Lalancette 提交于
      The Xen code for making HVM VT-d PCI passthrough attach and detach
      wasn't working properly:
      
      1)  In xenDaemonAttachDevice(), we were always trying to reconfigure
      a PCI passthrough device, even the first time we added it.  This was
      because the code in virDomainXMLDevID() was not checking xenstore for
      the existence of the device, and always returning 0 (meaning that
      the device already existed).
      
      2)  In xenDaemonDetachDevice(), we were trying to use "device_destroy"
      to detach a PCI device.  While you would think that is the right
      method to call, it's actually wrong for PCI devices.  In particular,
      in upstream Xen (and soon in RHEL-5 Xen), device_configure is actually
      used to destroy a PCI device.
      
      To fix the attach
      problem I add a lookup into xenstore to see if the device we are
      trying to attach already exists.  To fix the detach problem I change
      it so that for PCI detach (only), we use device_configure with the
      appropriate sxpr to do the detachment.
      
      * src/xen/xend_internal.c: don't use device_destroy for PCI devices
        and fix the other issues.
      * src/xen/xs_internal.c src/xen/xs_internal.h: add
        xenStoreDomainGetPCIID()
      e9f468d3
    • D
      Fix detection of JSON when restarting libvirtd · c90e545f
      Daniel P. Berrange 提交于
      The XML XPath for detecting JSON in the running VM statefile was
      wrong causing all VMs to get JSON mode enabled at libvirtd restart.
      
      In addition if a VM was running a JSON enabled QEMU once, and then
      altered to point to a non-JSON enabled QEMU later the 'monJSON'
      flag would not get reset to 0.
      
      * src/qemu/qemu_driver.c: Fix setting/detection of JSON mode
      c90e545f
  7. 21 12月, 2009 2 次提交
    • D
      Fix reporting of TLS connection errors · 469b6b3a
      Daniel P. Berrange 提交于
      The code for connecting to a server tries each socket in turn
      until it finds one that connects. Unfortunately for TLS sockets
      if it connected, but failed TLS handshake it would treat that
      as a failure to connect, and try the next socket. This is bad,
      it should have reported the TLS failure immediately.
      
      $ virsh -c qemu://somehost.com/system
      error: unable to connect to libvirtd at 'somehost.com': Invalid argument
      error: failed to connect to the hypervisor
      
      $ ./tools/virsh -c qemu://somehost.com/system
      error: server certificate failed validation: The certificate hasn't got a known issuer.
      error: failed to connect to the hypervisor
      
       * src/remote/remote_driver.c: Stop trying to connect if the
         TLS handshake fails
      469b6b3a
    • D
      Fix typo in qemudDomainAttachHostPciDevice() · 9b2c299a
      Daniel Veillard 提交于
      * src/qemu/qemu_driver.c: The 'if' statement is supposed to check return
        value of pci = pciGetDevice(conn, ...); , but check uses if (!dev),
        fix it
      9b2c299a
  8. 20 12月, 2009 4 次提交
    • A
      Add domainMemoryStats support to remote driver · 841d5035
      Adam Litke 提交于
      Use a dynamically sized xdr_array to pass memory stats on the wire.  This
      supports the addition of future memory stats and reduces the message size
      since only supported statistics are returned.
      
      * src/remote/remote_protocol.x: provide defines for the new entry point
      * src/remote/remote_driver.c daemon/remote.c: implement the client and
        server side
      * 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: generated
        stubs
      841d5035
    • A
      Implements domainMemStats in the qemu driver · c7523b41
      Adam Litke 提交于
      Support for memory statistics reporting is accepted for qemu inclusion.
      Statistics are reported via the monitor command 'info balloon' as a comma
      seprated list:
      
      (qemu) info balloon
      balloon: actual=1024,mem_swapped_in=0,mem_swapped_out=0,major_page_faults=88,minor_page_faults=105535,free_mem=1017065472,total_mem=1045229568
      
      Libvirt, qemu, and the guest operating system may support a subset of the
      statistics defined by the virtio spec.  Thus, only statistics recognized by
      components will be reported.
      
      * src/qemu/qemu_driver.c src/qemu/qemu_monitor_text.[ch]: implement the
        new entry point by using info balloon monitor command
      c7523b41
    • A
      domMemoryStats: Add public symbol to libvirt API · 4fe975fe
      Adam Litke 提交于
      * src/libvirt.c: implement the main entry point
      * src/libvirt_public.syms: add it to the exported symbols
      4fe975fe
    • A
      Add new API virDomainMemoryStats to header and drivers · 3a701313
      Adam Litke 提交于
      Set up the types for the domainMemoryStats function and insert it into the
      virDriver structure definition.  Because of static initializers, update
      every driver and set the new field to NULL.
      
      * include/libvirt/libvirt.h.in: new API
      * src/driver.h src/*/*_driver.c src/vbox/vbox_tmpl.c: add the new
        entry to the driver structure
      * python/generator.py: fix compiler errors, the actual python binding is
        implemented later
      3a701313