1. 10 2月, 2017 9 次提交
    • M
      util: reset the counters to zero · c26fe44b
      Marc Hartmayer 提交于
      After freeing the data structures we have to reset the counters to
      zero. This fixes a segmentation fault when virNetDevIPInfoClear is
      called twice (e.g. this is possible in virDomainNetDefParseXML() if
      virDomainNetIPInfoParseXML(...) fails with ret < 0 (this leads to the
      first call of 'virNetDevIPInfoClear(&def->guestIP)') and the resulting
      call of virDomainNetDefFree(def) in the error path of
      virDomainNetDefParseXML() (this leads to the second call of
      virNetDevIPInfoClear(&def->guestIP), and finally to the segmentation
      fault).
      Signed-off-by: NMarc Hartmayer <mhartmay@linux.vnet.ibm.com>
      Reviewed-by: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com>
      Reviewed-by: NBjoern Walk <bwalk@linux.vnet.ibm.com>
      c26fe44b
    • M
      conf: Fix libvirtd free() segfault if virDomainChrSourceDefNew(...) fails · 28dd54a5
      Marc Hartmayer 提交于
      If virDomainChrSourceDefNew(xmlopt) fails, it will lead to free()ing
      the uninitialized pointer bus. The fix for this is to initialize bus
      with NULL.
      Signed-off-by: NMarc Hartmayer <mhartmay@linux.vnet.ibm.com>
      Reviewed-by: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com>
      Reviewed-by: NBjoern Walk <bwalk@linux.vnet.ibm.com>
      28dd54a5
    • M
      qemu: Check if virQEMUCapsNewCopy(...) has failed · 62b2c2fc
      Marc Hartmayer 提交于
      Check if virQEMUCapsNewCopy(...) has failed, thus a segmentation fault
      in virQEMUCapsFilterByMachineType(...) will be avoided.
      Signed-off-by: NMarc Hartmayer <mhartmay@linux.vnet.ibm.com>
      Reviewed-by: NBjoern Walk <bwalk@linux.vnet.ibm.com>
      62b2c2fc
    • D
      qemu: Fix live migration over RDMA with IPv6 · 728c0e5d
      David Dai 提交于
      Using libvirt to do live migration over RDMA via IPv6 address failed.
      
      For example:
          rhel73_host1_guest1 qemu+ssh://[deba::2222]/system --verbose
      root@deba::2222's password:
      error: internal error: unable to execute QEMU command 'migrate': RDMA
      ERROR: could not rdma_getaddrinfo address deba
      
      As we can see, the IPv6 address used by rdma_getaddrinfo() has only
      "deba" part because we didn't properly enclose the IPv6 address in []
      and passed rdma:deba::2222:49152 as the migration URI in
      qemuMonitorMigrateToHost.
      Signed-off-by: NDavid Dai <zdai@linux.vnet.ibm.com>
      728c0e5d
    • J
      libxl: fix dom0 maximum memory setting · 79692c38
      Jim Fehlig 提交于
      When the libxl driver is initialized, it creates a virDomainDef
      object for dom0 and adds it to the list of domains. Total memory
      for dom0 was being set from the max_memkb field of libxl_dominfo
      struct retrieved from libxl, but this field can be set to
      LIBXL_MEMKB_DEFAULT (~0ULL) if dom0 maximum memory has not been
      explicitly set by the user.
      
      This patch adds some simple parsing of the Xen commandline,
      looking for a dom0_mem parameter that also specifies a 'max' value.
      If not specified, dom0 maximum memory is effectively all physical
      host memory.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      79692c38
    • J
      libxl: fix reporting of maximum memory · d2b77608
      Jim Fehlig 提交于
      The libxl driver reports different values of maximum memory depending
      on state of a domain. If inactive, maximum memory value is reported
      correctly. When active, maximum memory is derived from max_pages value
      returned by the XEN_SYSCTL_getdomaininfolist sysctl operation. But
      max_pages can be changed by toolstacks and does not necessarily
      represent the maximum memory a domain can use during its active
      lifetime.
      
      A better location for determining a domain's maximum memory is the
      /local/domain/<id>/memory/static-max node in xenstore. This value
      is set from the libxl_domain_build_info.max_memkb field when creating
      the domain. Currently it cannot be changed nor can its value be
      exceeded by a balloon operation. From libvirt's perspective, always
      reporting maximum memory with virDomainDefGetMemoryTotal() will produce
      the same results as reading the static-max node in xenstore.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      d2b77608
    • J
      libxl: fix disk detach when <driver> not specified · bd116810
      Jim Fehlig 提交于
      When a user does not explicitly set a <driver> in the disk config,
      libvirt defers selection of a default to libxl. This approach works
      fine when starting a domain with such configuration or attaching a
      disk to a running domain. But when detaching such a disk, libxl
      will fail with "unrecognized disk backend type: 0". libxl makes no
      attempt to recalculate a default backend (driver) on detach and
      simply fails when uninitialized.
      
      This patch updates the libvirt disk config with the backend selected
      by libxl when starting a domain or attaching a disk to a running
      domain. Another benefit of this approach is that the live XML is
      also updated with the backend driver selected by libxl.
      bd116810
    • J
      libxl: set default disk format in device post-parse · 321a28c6
      Jim Fehlig 提交于
      When starting a domian, a libxl_domain_config object is created from
      virDomainDef. Any virDomainDiskDef devices with a format of
      VIR_STORAGE_FILE_NONE are mapped to LIBXL_DISK_FORMAT_RAW in the
      corresponding libxl_disk_device, but the virDomainDiskDef format is
      never updated to reflect the change.
      
      A better place to set a default format for disk devices is the
      device post-parse callback, ensuring the virDomainDiskDef object
      reflects the default format.
      321a28c6
    • B
      docs: Document new ovs_timeout configuration knob · c0120520
      Boris Fiuczynski 提交于
      Document the ovs_timeout introduced to libvirtd.conf in previous
      patches.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      c0120520
  2. 09 2月, 2017 18 次提交
  3. 08 2月, 2017 13 次提交