1. 28 4月, 2017 8 次提交
    • P
      qemu: use nec-usb-xhci as a default controller for aarch64 if available · 233f8d0b
      Pavel Hrdina 提交于
      This is a USB3 controller and it's a better choice than piix3-uhci.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      Acked-by: NAndrea Bolognani <abologna@redhat.com>
      233f8d0b
    • P
      qemu: change the logic of setting default USB controller · e69001b4
      Pavel Hrdina 提交于
      The new logic will set the piix3-uhci if available regardless of
      any architecture and it will be updated to better model based on
      architecture and device existence.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      Acked-by: NAndrea Bolognani <abologna@redhat.com>
      e69001b4
    • P
      qemu: Don't fail if physical size can't be updated in qemuDomainGetBlockInfo · 9f16bb73
      Peter Krempa 提交于
      Since commit c5f61513 qemuDomainBlockInfo tries to update the
      "physical" storage size for all network storage and not only block
      devices.
      
      Since the storage driver APIs to do this are not implemented for certain
      storage types (RBD, iSCSI, ...) the code would fail to retrieve any data
      since the failure of qemuDomainStorageUpdatePhysical is fatal.
      
      Since it's desired to return data even if the total size can't be
      updated we need to ignore errors from that function and return plausible
      data.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1442344
      9f16bb73
    • P
      qemu: Move freeing of PCI address list to qemuProcessStop · 44f8e00b
      Peter Krempa 提交于
      Rather than freeing the list before starting a new VM clear it after
      stopping the old instance when the data becomes invalid.
      44f8e00b
    • P
      qemu: process: Clean up priv->migTLSAlias · 8c1fee5f
      Peter Krempa 提交于
      The alias would be leaked, since it's not freed on the vm stop path.
      8c1fee5f
    • P
      qemu: process: Don't leak priv->usbaddrs after VM restart · 3ab802d6
      Peter Krempa 提交于
      Since the private data structure is not freed upon stopping a VM, the
      usbaddrs pointer would be leaked:
      
      ==15388== 136 (16 direct, 120 indirect) bytes in 1 blocks are definitely lost in loss record 893 of 1,019
      ==15388==    at 0x4C2CF55: calloc (vg_replace_malloc.c:711)
      ==15388==    by 0x54BF64A: virAlloc (viralloc.c:144)
      ==15388==    by 0x5547588: virDomainUSBAddressSetCreate (domain_addr.c:1608)
      ==15388==    by 0x144D38A2: qemuDomainAssignUSBAddresses (qemu_domain_address.c:2458)
      ==15388==    by 0x144D38A2: qemuDomainAssignAddresses (qemu_domain_address.c:2515)
      ==15388==    by 0x144ED1E3: qemuProcessPrepareDomain (qemu_process.c:5398)
      ==15388==    by 0x144F51FF: qemuProcessStart (qemu_process.c:5979)
      [...]
      3ab802d6
    • P
      qemu: process: Clean automatic NUMA/cpu pinning information on shutdown · 1730cdc6
      Peter Krempa 提交于
      Clean the stale data after shutting down the VM. Otherwise the data
      would be leaked on next VM start. This happens due to the fact that the
      private data object is not freed on destroy of the VM.
      1730cdc6
    • J
      qemu: Add support for guest CPU cache · df13c0b4
      Jiri Denemark 提交于
      This patch maps /domain/cpu/cache element into -cpu parameters:
      
      - <cache mode='passthrough'/> is translated to host-cache-info=on
      - <cache level='3' mode='emulate'/> is transformed into l3-cache=on
      - <cache mode='disable'/> is turned in host-cache-info=off,l3-cache=off
      
      Any other <cache> element is forbidden.
      
      The tricky part is detecting whether QEMU supports the CPU properties.
      
      The 'host-cache-info' property is introduced in v2.4.0-1389-ge265e3e480,
      earlier QEMU releases enabled host-cache-info by default and had no way
      to disable it. If the property is present, it defaults to 'off' for any
      QEMU until at least 2.9.0.
      
      The 'l3-cache' property was introduced later by v2.7.0-200-g14c985cffa.
      Earlier versions worked as if l3-cache=off was passed. For any QEMU
      until at least 2.9.0 l3-cache is 'off' by default.
      
      QEMU 2.9.0 was the first release which supports probing both properties
      by running device-list-properties with typename=host-x86_64-cpu. Older
      QEMU releases did not support device-list-properties command for CPU
      devices. Thus we can't really rely on probing them and we can just use
      query-cpu-model-expansion QMP command as a witness.
      
      Because the cache property probing is only reliable for QEMU >= 2.9.0
      when both are already supported for quite a few releases, we let QEMU
      report an error if a specific cache mode is explicitly requested. The
      other mode (or both if a user requested CPU cache to be disabled) is
      explicitly turned off for QEMU >= 2.9.0 to avoid any surprises in case
      the QEMU defaults change. Any older QEMU already turns them off so not
      doing so explicitly does not make any harm.
      Signed-off-by: NJiri Denemark <jdenemar@redhat.com>
      df13c0b4
  2. 27 4月, 2017 9 次提交
  3. 25 4月, 2017 1 次提交
  4. 24 4月, 2017 1 次提交
  5. 21 4月, 2017 2 次提交
  6. 20 4月, 2017 4 次提交
    • P
      qemu: hotplug: Don't save status XML when monitor is closed · 355f5ab9
      Peter Krempa 提交于
      In the vcpu hotplug code if exit from the monitor failed we would still
      attempt to save the status XML. When the daemon is terminated the
      monitor socket is closed. In such case, the written status XML would not
      contain the monitor path and thus be invalid.
      
      Avoid this issue by only saving status XML on success of the monitor
      command.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1439452
      355f5ab9
    • P
      qemu: hotplug: Unexport qemuDomainHotplugDelVcpu · f24dc5e2
      Peter Krempa 提交于
      The function is used only in the hotplug module.
      f24dc5e2
    • P
      qemu_domain: use correct default USB controller on ppc64 · 90acbc76
      Pavel Hrdina 提交于
      The history of USB controller for ppc64 guest is complex and goes
      back to libvirt 1.3.1 where the fun started.
      
      Prior Libvirt 1.3.1 if no model for USB controller was specified
      we've simply passed "-usb" on QEMU command line.
      
      Since Libvirt 1.3.1 there is a patch (8156493d) that fixes this
      issue by using "-device pci-ohci,..." but it breaks migration with
      older Libvirts which was agreed that's acceptable.  However this
      patch didn't reflect this change in the domain XML and the model
      was still missing.
      
      Since Libvirt 2.2.0 there is a patch (f55eaccb) that fixes the
      issue with not setting the USB model into domain XML which we need
      to know about to not break the migration and since the default
      model was *pci-ohci* it was used as default in this patch as well.
      
      This patch tries to take all the previous changes into account and
      also change the default for newly defined domains that don't specify
      any model for USB controller.
      
      The VIR_DOMAIN_DEF_PARSE_ABI_UPDATE is set only if new domain is
      defined or new device is added into a domain which means that in
      all other cases we will use the old *pci-ohci* model instead of the
      better and not broken *nec-usb-xhci* model.
      
      Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1373184Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      90acbc76
    • P
      conf: add a new parse flag VIR_DOMAIN_DEF_PARSE_ABI_UPDATE_MIGRATION · 5c7d8808
      Pavel Hrdina 提交于
      So far there is probably no change that is allowed to be done
      by the VIR_DOMAIN_DEF_PARSE_ABI_UPDATE flag that would break
      guest ABI but this may change in the future.
      
      This introduces new VIR_DOMAIN_DEF_PARSE_ABI_UPDATE_MIGRATION
      which should be used only for ABI updates that are "safe" for
      persistent migration.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      5c7d8808
  7. 19 4月, 2017 8 次提交
  8. 18 4月, 2017 4 次提交
  9. 13 4月, 2017 3 次提交