Skip to content
Snippets Groups Projects
  1. May 28, 2022
  2. May 26, 2022
  3. May 18, 2022
  4. May 17, 2022
  5. May 16, 2022
    • Leonardo Bras's avatar
      meson.build: Fix docker-test-build@alpine when including linux/errqueue.h · 354081d4
      Leonardo Bras authored
      
      A build error happens in alpine CI when linux/errqueue.h is included
      in io/channel-socket.c, due to redefining of 'struct __kernel_timespec':
      
      ===
      ninja: job failed: [...]
      In file included from /usr/include/linux/errqueue.h:6,
                       from ../io/channel-socket.c:29:
      /usr/include/linux/time_types.h:7:8: error: redefinition of 'struct __kernel_timespec'
          7 | struct __kernel_timespec {
            |        ^~~~~~~~~~~~~~~~~
      In file included from /usr/include/liburing.h:19,
                       from /builds/user/qemu/include/block/aio.h:18,
                       from /builds/user/qemu/include/io/channel.h:26,
                       from /builds/user/qemu/include/io/channel-socket.h:24,
                       from ../io/channel-socket.c:24:
      /usr/include/liburing/compat.h:9:8: note: originally defined here
          9 | struct __kernel_timespec {
            |        ^~~~~~~~~~~~~~~~~
      ninja: subcommand failed
      ===
      
      As above error message suggests, 'struct __kernel_timespec' was already
      defined by liburing/compat.h.
      
      Fix alpine CI by adding test to disable liburing in configure step if a
      redefinition happens between linux/errqueue.h and liburing/compat.h.
      
      [dgilbert: This has been fixed in Alpine issue 13813 and liburing]
      
      Signed-off-by: default avatarLeonardo Bras <leobras@redhat.com>
      Message-Id: <20220513062836.965425-2-leobras@redhat.com>
      Reviewed-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
      354081d4
    • Daniel P. Berrangé's avatar
      tests: add migration tests of TLS with x509 credentials · d47b83b1
      Daniel P. Berrangé authored
      
      This validates that we correctly handle migration success and failure
      scenarios when using TLS with x509 certificates. There are quite a few
      different scenarios that matter in relation to hostname validation.
      
      Signed-off-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Message-Id: <20220426160048.812266-5-berrange@redhat.com>
      Reviewed-by: default avatarEric Blake <eblake@redhat.com>
      Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
        dgilbert: Manual merge due to ifdef change in 3
      d47b83b1
  6. May 12, 2022
  7. May 09, 2022
    • Nicolas Saenz Julienne's avatar
      util/main-loop: Introduce the main loop into QOM · 70ac26b9
      Nicolas Saenz Julienne authored
      
      'event-loop-base' provides basic property handling for all 'AioContext'
      based event loops. So let's define a new 'MainLoopClass' that inherits
      from it. This will permit tweaking the main loop's properties through
      qapi as well as through the command line using the '-object' keyword[1].
      Only one instance of 'MainLoopClass' might be created at any time.
      
      'EventLoopBaseClass' learns a new callback, 'can_be_deleted()' so as to
      mark 'MainLoop' as non-deletable.
      
      [1] For example:
            -object main-loop,id=main-loop,aio-max-batch=<value>
      
      Signed-off-by: default avatarNicolas Saenz Julienne <nsaenzju@redhat.com>
      Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Acked-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Message-id: 20220425075723.20019-3-nsaenzju@redhat.com
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      70ac26b9
    • Nicolas Saenz Julienne's avatar
      Introduce event-loop-base abstract class · 7d5983e3
      Nicolas Saenz Julienne authored
      
      Introduce the 'event-loop-base' abstract class, it'll hold the
      properties common to all event loops and provide the necessary hooks for
      their creation and maintenance. Then have iothread inherit from it.
      
      EventLoopBaseClass is defined as user creatable and provides a hook for
      its children to attach themselves to the user creatable class 'complete'
      function. It also provides an update_params() callback to propagate
      property changes onto its children.
      
      The new 'event-loop-base' class will live in the root directory. It is
      built on its own using the 'link_whole' option (there are no direct
      function dependencies between the class and its children, it all happens
      trough 'constructor' magic). And also imposes new compilation
      dependencies:
      
          qom <- event-loop-base <- blockdev (iothread.c)
      
      And in subsequent patches:
      
          qom <- event-loop-base <- qemuutil (util/main-loop.c)
      
      All this forced some amount of reordering in meson.build:
      
       - Moved qom build definition before qemuutil. Doing it the other way
         around (i.e. moving qemuutil after qom) isn't possible as a lot of
         core libraries that live in between the two depend on it.
      
       - Process the 'hw' subdir earlier, as it introduces files into the
         'qom' source set.
      
      No functional changes intended.
      
      Signed-off-by: default avatarNicolas Saenz Julienne <nsaenzju@redhat.com>
      Reviewed-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Acked-by: default avatarMarkus Armbruster <armbru@redhat.com>
      Message-id: 20220425075723.20019-2-nsaenzju@redhat.com
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      7d5983e3
  8. May 08, 2022
  9. May 07, 2022
  10. May 04, 2022
    • Andrew Deason's avatar
      qga/commands-posix: Use getifaddrs when available · 59e35c7b
      Andrew Deason authored
      
      Currently, commands-posix.c assumes that getifaddrs() is only
      available on Linux, and so the related guest agent command
      guest-network-get-interfaces is only implemented for #ifdef __linux__.
      This function does exist on other platforms, though, such as Solaris.
      So, add a meson check for getifaddrs(), and move the code for
      guest-network-get-interfaces to be built whenever getifaddrs() is
      available.
      
      The implementation for guest-network-get-interfaces still has some
      Linux-specific code, which is not fixed in this commit. This commit
      moves the relevant big chunks of code around without changing them, so
      a future commit can change the code in place.
      
      Signed-off-by: default avatarAndrew Deason <adeason@sinenomine.net>
      Reviewed-by: default avatarMichal Privoznik <mprivozn@redhat.com>
      Message-Id: <20220426195526.7699-2-adeason@sinenomine.net>
      59e35c7b
  11. Apr 28, 2022
  12. Apr 27, 2022
  13. Apr 20, 2022
Loading