1. 21 11月, 2019 4 次提交
  2. 15 11月, 2019 1 次提交
  3. 13 11月, 2019 2 次提交
  4. 07 11月, 2019 1 次提交
  5. 21 10月, 2019 1 次提交
  6. 18 10月, 2019 2 次提交
    • J
      qemu: Generate 'xres' and 'yres' for QEMU video devices · 71519d46
      Julio Faracco 提交于
      This commit let QEMU command line define 'xres' and 'yres' properties
      if XML contains both properties from video model: based on resolution
      fields 'x' and 'y'. There is a conditional structure inside
      qemuDomainDeviceDefValidateVideo() that validates if video model
      supports this feature. This commit includes the necessary changes to
      cover resolution for 'video-qxl-resolution' test cases too.
      Reviewed-by: NCole Robinson <crobinso@redhat.com>
      Signed-off-by: NJulio Faracco <jcfaracco@gmail.com>
      71519d46
    • J
      conf: Add 'x' and 'y' resolution into video XML definition · 72862797
      Julio Faracco 提交于
      This commit adds resolution element with parameters 'x' and 'y' into video
      XML domain group definition. Both, properties were added into an element
      called 'resolution' and it was added inside 'model' element. They are set
      as optional. This element does not follow QEMU properties 'xres' and
      'yres' format. Both HTML documentation and schema were changed too. This
      commit includes a simple test case to cover resolution for QEMU video
      models. The new XML format for resolution looks like:
      
          <model ...>
            <resolution x='800' y='600'/>
          </model>
      Reviewed-by: NCole Robinson <crobinso@redhat.com>
      Signed-off-by: NJulio Faracco <jcfaracco@gmail.com>
      72862797
  7. 10 10月, 2019 2 次提交
  8. 07 10月, 2019 5 次提交
  9. 02 10月, 2019 1 次提交
  10. 30 9月, 2019 1 次提交
    • D
      qemu: ensure vhostuser FD is initialized to -1 · 227925a2
      Daniel P. Berrangé 提交于
      The video private data was not initializing the vhostuser FD
      causing us to attempt to close FD 0 many times over.
      
      Fixes
      
        commit ca60ecfa
        Author: Marc-André Lureau <marcandre.lureau@redhat.com>
        Date:   Mon Sep 23 14:44:36 2019 +0400
      
            qemu: add qemuDomainVideoPrivate
      
      Since the test suite does not invoke qemuExtDevicesStart(), no
      vhost_user_fd will be present when generating test XML. To deal
      with this we can must a fake FD number. While the current XML
      is using FD == 0, we pick a very interesting number that's unlikely
      to be a real FD, so that we're more likely to see any mistakes
      closing the invalid FD.
      Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      227925a2
  11. 25 9月, 2019 5 次提交
  12. 19 9月, 2019 2 次提交
  13. 18 9月, 2019 1 次提交
  14. 10 9月, 2019 2 次提交
    • L
      qemu: support unmanaged target tap dev for <interface type='ethernet'> · 7cd0911e
      Laine Stump 提交于
      If managed='no', then the tap device must already exist, and setting
      of MAC address and online status (IFF_UP) is skipped.
      
      NB: we still set IFF_VNET_HDR and IFF_MULTI_QUEUE as appropriate,
      because those bits must be properly set in the TUNSETIFF we use to set
      the tap device name of the handle we've opened - if IFF_VNET_HDR has
      not been set and we set it the request will be honored even when
      running libvirtd unprivileged; if IFF_MULTI_QUEUE is requested to be
      different than how it was created, that will result in an error from
      the kernel. This means that you don't need to pay attention to
      IFF_VNET_HDR when creating the tap devices, but you *do* need to set
      IFF_MULTI_QUEUE if you're going to use multiple queues for your tap
      device.
      
      NB2: /dev/vhost-net normally has permissions 600, so it can't be
      opened by an unprivileged process. This would normally cause a warning
      message when using a virtio net device from an unprivileged
      libvirtd. I've found that setting the permissions for /dev/vhost-net
      permits unprivileged libvirtd to use vhost-net for virtio devices, but
      have no idea what sort of security implications that has. I haven't
      changed libvrit's code to avoid *attempting* to open /dev/vhost-net -
      if you are concerned about the security of opening up permissions of
      /dev/vhost-net (probably a good idea at least until we ask someone who
      knows about the code) then add <driver name='qemu'/> to the interface
      definition and you'll avoid the warning message.
      
      Note that virNetDevTapCreate() is the correct function to call in the
      case of an existing device, because the same ioctl() that creates a
      new tap device will also open an existing tap device.
      
      Resolves: https://bugzilla.redhat.com/1723367 (partially)
      Signed-off-by: NLaine Stump <laine@redhat.com>
      Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
      7cd0911e
    • L
      conf: new "managed" attribute for target dev of <interface type='ethernet'> · 77f72a86
      Laine Stump 提交于
      Although <interface type='ethernet'> has always been able to use an
      existing tap device, this is just a coincidence due to the fact that
      the same ioctl is used to create a new tap device or get a handle to
      an existing device.
      
      Even then, once we have the handle to the device, we still insist on
      doing extra setup to it (setting the MAC address and IFF_UP).  That
      *might* be okay if libvirtd is running as a privileged process, but if
      libvirtd is running as an unprivileged user, those attempted
      modifications to the tap device will fail (yes, even if the tap is set
      to be owned by the user running libvirtd). We could avoid this if we
      knew that the device already existed, but as stated above, an existing
      device and new device are both accessed in the same manner, and
      anyway, we need to preserve existing behavior for those who are
      already using pre-existing devices with privileged libvirtd (and
      allowing/expecting libvirt to configure the pre-existing device).
      
      In order to cleanly support the idea of using a pre-existing and
      pre-configured tap device, this patch introduces a new optional
      attribute "managed" for the interface <target> element. This
      attribute is only valid for <interface type='ethernet'> (since all
      other interface types have mandatory config that doesn't apply in the
      case where we expect the tap device to be setup before we
      get it). The syntax would look something like this:
      
         <interface type='ethernet'>
            <target dev='mytap0' managed='no'/>
            ...
         </interface>
      
      This patch just adds managed to the grammar and parser for <target>,
      but has no functionality behind it.
      
      (NB: when managed='no' (the default when not specified is 'yes'), the
      target dev is always a name explicitly provided, so we don't
      auto-remove it from the config just because it starts with "vnet"
      (VIR_NET_GENERATED_TAP_PREFIX); this makes it possible to use the
      same pattern of names that libvirt itself uses when it automatically
      creates the tap devices.)
      Signed-off-by: NLaine Stump <laine@redhat.com>
      Reviewed-by: NDaniel P. Berrangé <berrange@redhat.com>
      77f72a86
  15. 09 9月, 2019 2 次提交
  16. 06 9月, 2019 3 次提交
  17. 28 8月, 2019 3 次提交
  18. 19 8月, 2019 2 次提交