1. 20 4月, 2017 2 次提交
  2. 18 4月, 2017 1 次提交
    • P
      qemu: refactor qemuDomainMachine* functions · ac97658d
      Pavel Hrdina 提交于
      Introduce new wrapper functions without *Machine* in the function
      name that take the whole virDomainDef structure as argument and
      call the existing functions with *Machine* in the function name.
      
      Change the arguments of existing functions to *machine* and *arch*
      because they don't need the whole virDomainDef structure and they
      could be used in places where we don't have virDomainDef.
      Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
      ac97658d
  3. 04 4月, 2017 5 次提交
  4. 27 3月, 2017 1 次提交
    • E
      conf: Introduce new hostdev device type mdev · ec783d7c
      Erik Skultety 提交于
      A mediated device will be identified by a UUID (with 'model' now being
      a mandatory <hostdev> attribute to represent the mediated device API) of
      the user pre-created mediated device. We also need to make sure that if
      user explicitly provides a guest address for a mdev device, the address
      type will be matching the device API supported on that specific mediated
      device and error out with an incorrect XML message.
      
      The resulting device XML:
      <devices>
        <hostdev mode='subsystem' type='mdev' model='vfio-pci'>
          <source>
            <address uuid='c2177883-f1bb-47f0-914d-32a22e3a8804'>
          </source>
        </hostdev>
      </devices>
      Signed-off-by: NErik Skultety <eskultet@redhat.com>
      ec783d7c
  5. 25 3月, 2017 1 次提交
  6. 16 3月, 2017 1 次提交
  7. 15 3月, 2017 4 次提交
  8. 10 3月, 2017 2 次提交
  9. 09 3月, 2017 6 次提交
  10. 06 3月, 2017 1 次提交
    • M
      qemu: Enforce qemuSecurity wrappers · 4da534c0
      Michal Privoznik 提交于
      Now that we have some qemuSecurity wrappers over
      virSecurityManager APIs, lets make sure everybody sticks with
      them. We have them for a reason and calling virSecurityManager
      API directly instead of wrapper may lead into accidentally
      labelling a file on the host instead of namespace.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      4da534c0
  11. 01 3月, 2017 1 次提交
  12. 22 2月, 2017 1 次提交
  13. 21 2月, 2017 1 次提交
  14. 08 2月, 2017 4 次提交
    • M
      qemuDomainNamespace{Setup,Teardown}Disk: Don't pass pointer to full disk · 18ce9d13
      Michal Privoznik 提交于
      These functions do not need to see the whole virDomainDiskDef.
      Moreover, they are going to be called from places where we don't
      have access to the full disk definition. Sticking with
      virStorageSource is more than enough.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      18ce9d13
    • M
      qemuDomainAttachSCSIVHostDevice: manage /dev entry · 45599e40
      Michal Privoznik 提交于
      Again, one missed bit. This time without this commit there is no
      /dev entry in the namespace of the qemu process when attaching
      vhost SCSI device.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      45599e40
    • M
      qemuDomainAttachSCSIVHostDevice: Prefer qemuSecurity wrappers · 7d93a885
      Michal Privoznik 提交于
      Since we have qemuSecurity wrappers over
      virSecurityManagerSetHostdevLabel and
      virSecurityManagerRestoreHostdevLabel we ought to use them
      instead of calling secdriver APIs directly.  Without those
      wrappers the labelling won't be done in the correct namespace
      and thus won't apply to the nodes seen by qemu itself.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      7d93a885
    • 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
  15. 07 2月, 2017 1 次提交
    • M
      qemuDomainPrepareDisk: Fix ordering · 0a465238
      Michal Privoznik 提交于
      The current ordering is as follows:
      1) set label
      2) create the device in namespace
      3) allow device in the cgroup
      
      While this might work for now, it will definitely not work if the
      security driver would use transactions as in that case there
      would be no device to relabel in the domain namespace as the
      device is created in the second step.
      Swap steps 1) and 2) to allow security driver to use more
      transactions.
      Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
      0a465238
  16. 30 1月, 2017 1 次提交
  17. 20 1月, 2017 1 次提交
  18. 18 1月, 2017 1 次提交
  19. 04 1月, 2017 1 次提交
    • J
      qemu: Don't assume secret provided for LUKS encryption · 7f7d9904
      John Ferlan 提交于
      https://bugzilla.redhat.com/show_bug.cgi?id=1405269
      
      If a secret was not provided for what was determined to be a LUKS
      encrypted disk (during virStorageFileGetMetadata processing when
      called from qemuDomainDetermineDiskChain as a result of hotplug
      attach qemuDomainAttachDeviceDiskLive), then do not attempt to
      look it up (avoiding a libvirtd crash) and do not alter the format
      to "luks" when adding the disk; otherwise, the device_add would
      fail with a message such as:
      
         "unable to execute QEMU command 'device_add': Property 'scsi-hd.drive'
          can't find value 'drive-scsi0-0-0-0'"
      
      because of assumptions that when the format=luks that libvirt would have
      provided the secret to decrypt the volume.
      
      Access to unlock the volume will thus be left to the application.
      7f7d9904
  20. 15 12月, 2016 4 次提交