1. 15 3月, 2017 2 次提交
  2. 08 2月, 2017 1 次提交
    • L
      qemu: propagate bridge MTU into qemu "host_mtu" option · 2841e675
      Laine Stump 提交于
      libvirt was able to set the host_mtu option when an MTU was explicitly
      given in the interface config (with <mtu size='n'/>), set the MTU of a
      libvirt network in the network config (with the same named
      subelement), and would automatically set the MTU of any tap device to
      the MTU of the network.
      
      This patch ties that all together (for networks based on tap devices
      and either Linux host bridges or OVS bridges) by learning the MTU of
      the network (i.e. the bridge) during qemuInterfaceBridgeConnect(), and
      returning that value so that it can then be passed to
      qemuBuildNicDevStr(); qemuBuildNicDevStr() then sets host_mtu in the
      interface's commandline options.
      
      The result is that a higher MTU for all guests connecting to a
      particular network will be plumbed top to bottom by simply changing
      the MTU of the network (in libvirt's config for libvirt-managed
      networks, or directly on the bridge device for simple host bridges or
      OVS bridges managed outside of libvirt).
      
      One question I have about this - it occurred to me that in the case of
      migrating a guest from a host with an older libvirt to one with a
      newer libvirt, the guest may have *not* had the host_mtu option on the
      older machine, but *will* have it on the newer machine. I'm curious if
      this could lead to incompatibilities between source and destination (I
      guess it all depends on whether or not the setting of host_mtu has a
      practical effect on a guest that is already running - Maxime?)
      
      Likewise, we could run into problems when migrating from a newer
      libvirt to older libvirt - The guest would have been told of the
      higher MTU on the newer libvirt, then migrated to a host that didn't
      understand <mtu size='blah'/>. (If this really is a problem, it would
      be a problem with or without the current patch).
      2841e675
  3. 25 11月, 2016 1 次提交
    • E
      qemu: Add vhost-scsi string for -device parameter · 9cc26dc6
      Eric Farman 提交于
      Open /dev/vhost-scsi, and record the resulting file descriptor, so that
      the guest has access to the host device outside of the libvirt daemon.
      Pass this information, along with data parsed from the XML file, to build
      a device string for the qemu command line.  That device string will be
      for either a vhost-scsi-ccw device in the case of an s390 machine, or
      vhost-scsi-pci for any others.
      Signed-off-by: NEric Farman <farman@linux.vnet.ibm.com>
      9cc26dc6
  4. 09 11月, 2016 1 次提交
  5. 03 11月, 2016 1 次提交
  6. 26 10月, 2016 1 次提交
    • J
      qemu: Add a secret object to/for a char source dev · daf5c651
      John Ferlan 提交于
      Add the secret object so the 'passwordid=' can be added if the command line
      if there's a secret defined in/on the host for TCP chardev TLS objects.
      
      Preparation for the secret involves adding the secinfo to the char source
      device prior to command line processing. There are multiple possibilities
      for TCP chardev source backend usage.
      
      Add test for at least a serial chardev as an example.
      daf5c651
  7. 20 9月, 2016 1 次提交
  8. 12 9月, 2016 1 次提交
  9. 09 9月, 2016 1 次提交
    • J
      qemu: Add the ability to hotplug the TLS X.509 environment · 2c322378
      John Ferlan 提交于
      If the incoming XML defined a path to a TLS X.509 certificate environment,
      add the necessary 'tls-creds-x509' object to the VIR_DOMAIN_CHR_TYPE_TCP
      character device.
      
      Likewise, if the environment exists the hot unplug needs adjustment as
      well.  Note that all the return ret were changed to goto cleanup since
      the cfg needs to be unref'd
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      2c322378
  10. 25 8月, 2016 1 次提交
  11. 02 8月, 2016 1 次提交
    • J
      qemu: Use qemuAliasFromDisk instead of qemuDeviceDriveHostAlias · 13effcaf
      John Ferlan 提交于
      Since we already have a function that will generate the drivestr from
      the alias, let's use it and remove the qemuDeviceDriveHostAlias.
      
      Move the QEMU_DRIVE_HOST_PREFIX definition into qemu_alias.h
      
      Also alter qemuAliasFromDisk to use the QEMU_DRIVE_HOST_PREFIX instead
      of "drive-%s".
      13effcaf
  12. 25 6月, 2016 1 次提交
  13. 16 6月, 2016 1 次提交
  14. 09 6月, 2016 1 次提交
  15. 07 6月, 2016 1 次提交
  16. 23 5月, 2016 1 次提交
  17. 16 5月, 2016 1 次提交
  18. 02 5月, 2016 2 次提交
    • J
      qemu: Introduce qemuDomainSecretHostdevPrepare and Destroy · d0816650
      John Ferlan 提交于
      Similar to the qemuDomainSecretDiskPrepare, generate the secret
      for the Hostdev's prior to call qemuProcessLaunch which calls
      qemuBuildCommandLine. Additionally, since the secret is not longer
      added as part of building the command, the hotplug code will need
      to make the call to add the secret in the hostdevPriv.
      
      Since this then is the last requirement to pass a virConnectPtr
      to qemuBuildCommandLine, we now can remove that as part of these
      changes. That removal has cascading effects through various callers.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      d0816650
    • J
      qemu: Introduce qemuDomainSecretPrepare and Destroy · 40d8e2ba
      John Ferlan 提交于
      Rather than needing to pass the conn parameter to various command
      line building API's, add qemuDomainSecretPrepare just prior to the
      qemuProcessLaunch which calls qemuBuilCommandLine. The function
      must be called after qemuProcessPrepareHost since it's expected
      to eventually need the domain masterKey generated during the prepare
      host call. Additionally, future patches may require device aliases
      (assigned during the prepare domain call) in order to associate
      the secret objects.
      
      The qemuDomainSecretDestroy is called after the qemuProcessLaunch
      finishes in order to clear and free memory used by the secrets
      that were recently prepared, so they are not kept around in memory
      too long.
      
      Placing the setup here is beneficial for future patches which will
      need the domain masterKey in order to generate an encrypted secret
      along with an initialization vector to be saved and passed (since
      the masterKey shouldn't be passed around).
      
      Finally, since the secret is not added during command line build,
      the hotplug code will need to get the secret into the private disk data.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      40d8e2ba
  19. 22 4月, 2016 1 次提交
  20. 16 4月, 2016 1 次提交
  21. 15 4月, 2016 1 次提交
  22. 13 4月, 2016 1 次提交
    • J
      drop qemuBuildCommandLineCallbacks · 0da965c5
      Ján Tomko 提交于
      Essentially revert commit 3a6204cb which added these to allow the test
      suite to pass without depending on the host system state.
      
      Since commit 4b527c1a we already mock virSCSIDeviceGetSgName, so these
      callbacks are useless.
      0da965c5
  23. 06 4月, 2016 1 次提交
  24. 15 3月, 2016 6 次提交
    • J
      qemu: Introduce qemuBuildRNGCommandLine · b12acd31
      John Ferlan 提交于
      Add new function to manage adding the RNG device options to the
      command line removing that task from the mainline qemuBuildCommandLine.
      
      Also modify the qemuBuildRNGDevStr to use const virDomainDef instead
      of virDomainDefPtr.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      b12acd31
    • J
      qemu: Introduce qemuBuildMemballoonCommandLine · 00e47796
      John Ferlan 提交于
      Add new function to manage adding the memballoon device options to the
      command line removing that task from the mainline qemuBuildCommandLine.
      
      Also modify the qemuBuildMemballoonDevStr to use const virDomainDef
      instead of virDomainDefPtr.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      00e47796
    • J
      qemu: Introduce qemuBuildHostdevCommandLine · d2108df5
      John Ferlan 提交于
      Add new function to manage adding the host device options to the
      command line removing that task from the mainline qemuBuildCommandLine.
      
      Also modify qemuBuildPCIHostdevDevStr, qemuBuildUSBHostdevDevStr,
      and qemuBuildSCSIHostdevDevStr to use const virDomainDef instead
      of virDomainDefPtr.
      
      Make qemuBuildPCIHostdevPCIDevStr and qemuBuildUSBHostdevUSBDevStr
      static to the qemu_command.c.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      d2108df5
    • J
      qemu: Introduce qemuBuildRedirdevCommandLine · 59e7ef3c
      John Ferlan 提交于
      Add new function to manage adding the redirdev device options to the
      command line removing that task from the mainline qemuBuildCommandLine.
      
      Also move the qemuBuildRedirdevDevStr closer to the new function and
      modify to use the const virDomainDef instead of virDomainDefPtr
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      59e7ef3c
    • J
      qemu: Introduce qemuBuildWatchdogCommandLine · 4666b762
      John Ferlan 提交于
      Add new function to manage adding the watchdog device options to the
      command line removing that task from the mainline qemuBuildCommandLine.
      
      Also since qemuBuildWatchdogDevStr was only local here, make it static as
      well as modifying the const virDomainDef.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      4666b762
    • J
      qemu: Introduce qemuBuildSoundCommandLine · 1a91ddb4
      John Ferlan 提交于
      Add new function to manage adding the sound device options to the
      command line removing that task from the mainline qemuBuildCommandLine.
      
      Also since qemuBuildSoundDevStr was only local here, make it static as
      well as modifying the const virDomainDef.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      1a91ddb4
  25. 12 3月, 2016 2 次提交
  26. 11 3月, 2016 4 次提交
    • J
      qemu: Introduce qemuBuildFSDevCommandLine · 3dbc2a14
      John Ferlan 提交于
      Add new function to manage adding the -fsdev options to the
      command line removing that task from the mainline qemuBuildCommandLine.
      Alter the code slightly to perform the !caps and fsdev failure check
      up front.
      
      Since both qemuBuildFSStr and qemuBuildFSDevStr are local, make them
      static and fix their prototypes to use the const virDomainDef as well.
      Make some minor formatting changes for long lines.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      3dbc2a14
    • J
      qemu: Introduce qemuBuildDiskDriveCommandLine · 0ea0f6c4
      John Ferlan 提交于
      Add new function to manage adding the disk -drive options to the
      command line removing that task from the mainline qemuBuildCommandLine.
      
      Also since using const virDomainDef in new function, that means other
      functions called needed to change their usage.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      0ea0f6c4
    • J
      qemu: Introduce qemuBuildHubCommandLine · f87be33a
      John Ferlan 提交于
      Add new function to manage adding the hub -device options to the
      command line removing that task from the mainline qemuBuildCommandLine.
      
      Also make qemuBuildHubDevStr static to the module since it's only
      used here.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      f87be33a
    • J
      qemu: Introduce qemuBuildControllerDevCommandLine · 4908772e
      John Ferlan 提交于
      Add new function to manage adding the controller -device options to the
      command line removing that task from the mainline qemuBuildCommandLine.
      
      Also adjust to using const virDomainDef instead of virDomainDefPtr.
      This causes collateral damage in order to modify called APIs to use
      the const virDomainDef instead as well.
      Signed-off-by: NJohn Ferlan <jferlan@redhat.com>
      4908772e
  27. 10 3月, 2016 1 次提交
  28. 01 3月, 2016 1 次提交
    • M
      qemu: Shorten per-domain directory names · a89f05ba
      Martin Kletzander 提交于
      Per-domain directories were introduced in order to be able to
      completely separate security labels for each domain (commit
      f1f68ca3).  However when the domain
      name is long (let's say a ridiculous 110 characters), we cannot
      connect to the monitor socket because on length of UNIX socket address
      is limited.  In order to get around this, let's shorten it in similar
      fashion and in order to avoid conflicts, throw in an ID there as well.
      Also save that into the status XML and load the old status XMLs
      properly (to clean up after older domains).  That way we can change it
      in the future.
      
      The shortening can be seen in qemuxml2argv tests, for example in the
      hugepages-pages2 case.
      Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
      a89f05ba
  29. 18 2月, 2016 1 次提交