1. 07 4月, 2016 1 次提交
    • J
      secret: Introduce virSecretGetSecretString · 2844de6f
      John Ferlan 提交于
      Commit id 'fb2bd208' essentially copied the qemuGetSecretString
      creating an libxlGetSecretString.  Rather than have multiple copies
      of the same code, create src/secret/secret_util.{c,h} files and
      place the common function in there.
      
      Modify the the build in order to build the module as a library
      which is then pulled in by both the qemu and libxl drivers for
      usage from both qemu_command.c and libxl_conf.c
      2844de6f
  2. 01 4月, 2016 2 次提交
  3. 30 3月, 2016 3 次提交
  4. 29 3月, 2016 2 次提交
  5. 26 3月, 2016 3 次提交
  6. 21 3月, 2016 2 次提交
  7. 11 3月, 2016 1 次提交
  8. 09 3月, 2016 2 次提交
    • P
      conf: refactor checking for unsupported memory devices · 185d13b1
      Peter Krempa 提交于
      Introduce a helper to check supported device and domain config and move
      the memory hotplug checks to it.
      
      The advantage of this approach is that by default all new features are
      considered unsupported by all hypervisors unless specifically changed
      rather than the previous approach where every hypervisor would need to
      declare that a given feature is unsupported.
      185d13b1
    • P
      conf: Extract code filling data for virDomainGetVcpuPinInfo · e498e904
      Peter Krempa 提交于
      The implementation of the inner guts of the function is similar for all
      drivers, so we can add a helper and not have to reimplement it three
      times.
      e498e904
  9. 04 3月, 2016 2 次提交
  10. 01 3月, 2016 1 次提交
  11. 26 2月, 2016 1 次提交
    • J
      libxl: unref objects in error paths · e4f1be7e
      Jim Fehlig 提交于
      libxlMakeNic opens a virConnect object and takes a reference on a
      virNetwork object, but doesn't drop the references on all error
      paths. Rework the function to follow the standard libvirt pattern
      of using a local 'ret' variable to hold the function return value,
      performing all cleanup and returning 'ret' at a 'cleanup' label.
      e4f1be7e
  12. 25 2月, 2016 1 次提交
    • J
      libxl: implement virDomainInterfaceStats · 77fdd82e
      Joao Martins 提交于
      Introduce support for domainInterfaceStats API call for querying
      network interface statistics. Consequently it also enables the use of
      `virsh domifstat <dom> <interface name>` command plus seeing the
      interfaces names instead of "-" when doing `virsh domiflist <dom>`.
      
      After successful guest creation we fill the network interfaces names
      based on domain, device id and append suffix if it's emulated in the
      following form: vif<domid>.<devid>[-emu].  We extract the network
      interfaces info from the libxl_domain_config object in
      libxlDomainCreateIfaceNames() to generate ifname. On domain cleanup we
      also clear ifname, in case it was set by libvirt (i.e. being prefixed
      with "vif"). We also skip these two steps in case the name of the
      interface was manually inserted by the administrator. Since the
      introduction of netprefix (commit a040ba9e), ifnames with a registered
      prefix will be freed on virDomain{Obj,Def}Format*, thus eliminating
      the migration issues observed with the reverted commit d2e5538b whereas
      source and destination would have the same ifname.
      
      For getting the interface statistics we resort to virNetInterfaceStats
      and let libvirt handle the platform specific nits. Note that the
      latter is not yet supported in FreeBSD.
      Signed-off-by: NJoao Martins <joao.m.martins@oracle.com>
      77fdd82e
  13. 24 2月, 2016 2 次提交
  14. 23 2月, 2016 1 次提交
    • J
      libxl: add support for rbd qdisk · fb2bd208
      Jim Fehlig 提交于
      xl/libxl already supports qemu's network-based block backends
      such as nbd and rbd. libvirt has supported configuring such
      <disk>s for long time too. This patch adds support for rbd
      disks in the libxl driver by generating a rbd device URL from
      the virDomainDiskDef object. The URL is passed to libxl via the
      pdev_path field of libxl_device_disk struct. libxl then passes
      the URL to qemu for cosumption by the rbd backend.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      fb2bd208
  15. 10 2月, 2016 2 次提交
    • J
      libxl: keepalive messages support · 5194eb95
      Joao Martins 提交于
      This patch introduces keep alive messages support for P2P migration
      and it adds two new configuration entries namely 'keepalive_interval'
      'keepalive_count' to control it. Behavior of these entries is the
      same as qemu driver thus the description is copied from there
      with just a few simplifications.
      Signed-off-by: NJoao Martins <joao.m.martins@oracle.com>
      5194eb95
    • J
      libxl: add p2p migration · a79da245
      Joao Martins 提交于
      Introduce support for VIR_MIGRATE_PEER2PEER in libvirt migration.
      Most of the changes occur at the source and no modifications at
      the receiver.
      
      In P2P mode there is only the Perform phase so we must handle the
      connection with the destination and actually perform the
      migration. libxlDomainPerformP2P implements the connection to the
      destination and libxlDoMigrateP2P implements the actual migration
      logic with virConnectPtr. In this function we take care of doing
      all phases of migration in the destination similar to
      virDomainMigrateVersion3Full. We appropriately save the last
      error reported in each of the phases to provide proper reporting.
      We don't yet support VIR_MIGRATE_TUNNELED and we always use V3
      with extensible params, thus it also makes the implementation
      simpler.
      
      It is worth noting that the receiver didn't have any changes, and
      since it's still the v3 sequence thus it is possible to migrate
      from a P2P to non-P2P host.
      Signed-off-by: NJoao Martins <joao.m.martins@oracle.com>
      a79da245
  16. 08 2月, 2016 2 次提交
  17. 05 2月, 2016 1 次提交
  18. 04 2月, 2016 3 次提交
  19. 27 1月, 2016 1 次提交
    • P
      device: cleanup input device code · 36785c7e
      Pavel Hrdina 提交于
      The current code was a little bit odd.  At first we've removed all
      possible implicit input devices from domain definition to add them later
      back if there was any graphics device defined while parsing XML
      description.  That's not all, while formating domain definition to XML
      description we at first ignore any input devices with bus different to
      USB and VIRTIO and few lines later we add implicit input devices to XML.
      
      This seems to me as a lot of code for nothing.  This patch may look
      to be more complicated than original approach, but this is a preferred
      way to modify/add driver specific stuff only in those drivers and not
      deal with them in common parsing/formating functions.
      
      The update is to add those implicit input devices into config XML to
      follow the real HW configuration visible by guest OS.
      
      There was also inconsistence between our behavior and QEMU's in the way,
      that in QEMU there is no way how to disable those implicit input devices
      for x86 architecture and they are available always, even without graphics
      device.  This applies also to XEN hypervisor.  VZ driver already does its
      part by putting correct implicit devices into live XML.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      36785c7e
  20. 22 1月, 2016 1 次提交
  21. 11 1月, 2016 1 次提交
  22. 09 1月, 2016 1 次提交
    • J
      libxl: support vif outgoing bandwidth QoS · f988ecfb
      Jim Fehlig 提交于
      The libxl_device_nic structure supports specifying an outgoing rate
      limit based on a time interval and bytes allowed per interval. In xl
      config a rate limit is specified as "<RATE>/s@<INTERVAL>". INTERVAL
      is optional and defaults to 50ms.
      
      libvirt expresses outgoing limits by average (required), peak, burst,
      and floor attributes in units of KB/s. This patch supports the outgoing
      bandwidth limit by converting the average KB/s to bytes per interval
      based on the same default interval (50ms) used by xl.
      Signed-off-by: NJim Fehlig <jfehlig@suse.com>
      f988ecfb
  23. 21 12月, 2015 1 次提交
    • A
      pci: Introduce virPCIStubDriver enumeration · 6d9cdd2a
      Andrea Bolognani 提交于
      This replaces the virPCIKnownStubs string array that was used
      internally for stub driver validation.
      
      Advantages:
      
        * possible values are well-defined
        * typos in driver names will be detected at compile time
        * avoids having several copies of the same string around
        * no error checking required when setting / getting value
      
      The names used mirror those in the
      virDomainHostdevSubsysPCIBackendType enumeration.
      6d9cdd2a
  24. 18 12月, 2015 2 次提交
  25. 16 12月, 2015 1 次提交
    • J
      libxl: implement virDomainGetJobStats · b7b43919
      Joao Martins 提交于
      Introduces support for domainGetJobStats which has the same
      info as domainGetJobInfo but in a slightly different format.
      Another difference is that virDomainGetJobStats can also
      retrieve info on the most recently completed job. Though so
      far this is only used in the source node to know if the
      migration has been completed. But because we don't support
      completed jobs we will deliver an error.
      Signed-off-by: NJoao Martins <joao.m.martins@oracle.com>
      b7b43919