Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: qemu/qemu
base: a9fe9e191b43
Choose a base ref
...
head repository: qemu/qemu
compare: eb5c3932a383
Choose a head ref
  • 19 commits
  • 22 files changed
  • 3 contributors

Commits on May 4, 2023

  1. migration: Fix block_bitmap_mapping migration

    It is valid that params->has_block_bitmap_mapping is true and
    params->block_bitmap_mapping is NULL.  So we can't use the trick of
    having a single function.
    
    Move to two functions one for each value and the tests are fixed.
    
    Fixes: b804b35
           migration: Create migrate_block_bitmap_mapping() function
    
    Reported-by: Kevin Wolf <kwolf@redhat.com>
    Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
    Message-Id: <20230503181036.14890-1-quintela@redhat.com>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Juan Quintela committed May 4, 2023
    Copy the full SHA
    3cba22c View commit details
    Browse the repository at this point in the history
  2. migration/rdma: Don't pass the QIOChannelRDMA as an opaque

    We can calculate it from the QEMUFile like the caller.
    
    Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
    Message-Id: <20230503131847.11603-6-quintela@redhat.com>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Juan Quintela committed May 4, 2023
    Copy the full SHA
    3ec6828 View commit details
    Browse the repository at this point in the history
  3. migration: Document all migration_stats

    Message-Id: <20230504103357.22130-2-quintela@redhat.com>
    Reviewed-by: David Edmondson <david.edmondson@oracle.com>
    Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Juan Quintela committed May 4, 2023
    Copy the full SHA
    e2ee200 View commit details
    Browse the repository at this point in the history
  4. migration: Put zero_pages in alphabetical order

    I forgot to move it when I rename it from duplicated_pages.
    
    Message-Id: <20230504103357.22130-3-quintela@redhat.com>
    Reviewed-by: David Edmondson <david.edmondson@oracle.com>
    Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Juan Quintela committed May 4, 2023
    Copy the full SHA
    40f240a View commit details
    Browse the repository at this point in the history
  5. migration: Rename xbzrle_enabled xbzrle_started

    Otherwise it is confusing with the function xbzrle_enabled().
    
    Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
    Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
    Reviewed-by: Peter Xu <peterx@redhat.com>
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Message-Id: <20230504115323.24407-1-quintela@redhat.com>
    Juan Quintela committed May 4, 2023
    Copy the full SHA
    f3095cc View commit details
    Browse the repository at this point in the history
  6. migration: Make RAM_SAVE_FLAG_HOOK a normal case entry

    Fixes this commit, clearly a bad merge after a rebase or similar, it
    should have been its own case since that point.
    
    commit 5b0e9dd
    Author: Peter Lieven <pl@kamp.de>
    Date:   Tue Jun 24 11:32:36 2014 +0200
    
        migration: catch unknown flag combinations in ram_load
    
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
    Message-Id: <20230504114443.23891-2-quintela@redhat.com>
    Juan Quintela committed May 4, 2023
    Copy the full SHA
    5f1e754 View commit details
    Browse the repository at this point in the history
  7. migration/rdma: simplify ram_control_load_hook()

    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
    Message-Id: <20230504114443.23891-3-quintela@redhat.com>
    Juan Quintela committed May 4, 2023
    Copy the full SHA
    cf7fe0c View commit details
    Browse the repository at this point in the history
  8. migration/rdma: We can calculate the rioc from the QEMUFile

    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
    Message-Id: <20230504114443.23891-4-quintela@redhat.com>
    Juan Quintela committed May 4, 2023
    Copy the full SHA
    93dc710 View commit details
    Browse the repository at this point in the history
  9. migration/rdma: It makes no sense to recive that flag without RDMA

    This could only happen if the source sent
    RAM_SAVE_FLAG_HOOK (i.e. rdma) and destination don't have CONFIG_RDMA.
    
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
    Message-Id: <20230504114443.23891-5-quintela@redhat.com>
    Juan Quintela committed May 4, 2023
    Copy the full SHA
    8c90815 View commit details
    Browse the repository at this point in the history
  10. migration/rdma: Check for postcopy sooner

    It makes no sense first try to see if there is an rdma error and then
    do nothing on postcopy stage.  Change it so we check we are in
    postcopy before doing anything.
    
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
    Message-Id: <20230504114443.23891-6-quintela@redhat.com>
    Juan Quintela committed May 4, 2023
    Copy the full SHA
    cd01a60 View commit details
    Browse the repository at this point in the history
  11. migration: max_postcopy_bandwidth is a size parameter

    So make everything that uses it uint64_t no int64_t.
    
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
    Message-Id: <20230504113841.23130-2-quintela@redhat.com>
    Juan Quintela committed May 4, 2023
    Copy the full SHA
    5203334 View commit details
    Browse the repository at this point in the history
  12. migration: qemu_file_total_transferred() function is monotonic

    So delta_bytes can only be greater or equal to zero.  Never negative.
    
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
    Message-Id: <20230504113841.23130-3-quintela@redhat.com>
    Juan Quintela committed May 4, 2023
    Copy the full SHA
    f3030d3 View commit details
    Browse the repository at this point in the history

Commits on May 5, 2023

  1. qemu-file: No need to check for shutdown in qemu_file_rate_limit

    After calling qemu_file_shutdown() we set the error as -EIO if there
    is no another previous error, so no need to check it here.
    
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Reviewed-by: Peter Xu <peterx@redhat.com>
    Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
    Message-Id: <20230504113841.23130-6-quintela@redhat.com>
    Juan Quintela committed May 5, 2023
    Copy the full SHA
    27a1243 View commit details
    Browse the repository at this point in the history
  2. qemu-file: remove shutdown member

    The first thing that we do after setting the shutdown value is set the
    error as -EIO if there is not a previous error.
    
    So this value is redundant.  Just remove it and use
    qemu_file_get_error() in the places that it was tested.
    
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
    Reviewed-by: Peter Xu <peterx@redhat.com>
    Message-Id: <20230504113841.23130-7-quintela@redhat.com>
    Juan Quintela committed May 5, 2023
    Copy the full SHA
    ac7d25b View commit details
    Browse the repository at this point in the history
  3. qemu-file: Make total_transferred an uint64_t

    Change all the functions that use it.  It was already passed as
    uint64_t.
    
    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
    Message-Id: <20230504113841.23130-8-quintela@redhat.com>
    Juan Quintela committed May 5, 2023
    Copy the full SHA
    61abf1e View commit details
    Browse the repository at this point in the history
  4. qemu-file: Make ram_control_save_page() use accessors for rate_limit

    Signed-off-by: Juan Quintela <quintela@redhat.com>
    Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
    Reviewed-by: Peter Xu <peterx@redhat.com>
    Message-Id: <20230504113841.23130-9-quintela@redhat.com>
    Juan Quintela committed May 5, 2023
    Copy the full SHA
    fae4009 View commit details
    Browse the repository at this point in the history
  5. audio/pwaudio.c: Add Pipewire audio backend for QEMU

    This commit adds a new audiodev backend to allow QEMU to use Pipewire as
    both an audio sink and source. This backend is available on most systems
    
    Add Pipewire entry points for QEMU Pipewire audio backend
    Add wrappers for QEMU Pipewire audio backend in qpw_pcm_ops()
    qpw_write function returns the current state of the stream to pwaudio
    and Writes some data to the server for playback streams using pipewire
    spa_ringbuffer implementation.
    qpw_read function returns the current state of the stream to pwaudio and
    reads some data from the server for capture streams using pipewire
    spa_ringbuffer implementation. These functions qpw_write and qpw_read
    are called during playback and capture.
    Added some functions that convert pw audio formats to QEMU audio format
    and vice versa which would be needed in the pipewire audio sink and
    source functions qpw_init_in() & qpw_init_out().
    These methods that implement playback and recording will create streams
    for playback and capture that will start processing and will result in
    the on_process callbacks to be called.
    Built a connection to the Pipewire sound system server in the
    qpw_audio_init() method.
    
    Signed-off-by: Dorinda Bassey <dbassey@redhat.com>
    Reviewed-by: Volker Rümelin <vr_qemu@t-online.de>
    Message-Id: <20230417105654.32328-1-dbassey@redhat.com>
    Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Dorinda Bassey authored and elmarco committed May 5, 2023
    Copy the full SHA
    c2d3d1c View commit details
    Browse the repository at this point in the history
  6. Merge tag 'migration-20230505-pull-request' of https://gitlab.com/jua…

    …n.quintela/qemu into staging
    
    Migration Pull request (20230505 edition)
    
    In this series:
    - fix block_bitmap_mapping (juan)
    - RDMA cleanup (juan)
    - qemu file cleanup (juan)
    
    Please apply.
    
    # -----BEGIN PGP SIGNATURE-----
    #
    # iQIzBAABCAAdFiEEGJn/jt6/WMzuA0uC9IfvGFhy1yMFAmRUUhUACgkQ9IfvGFhy
    # 1yMxkRAAk1jfunLx/0lfN9R2W3IDwOOPrcOOOd6e7zKb7GzccObKPlqb/eQyvjCe
    # FjOenJ8qgh90sW3m99ZBEla3BKekJlCB88olTjHX6FzWz7HUXMv0ip9Xx/Hg3KA/
    # gW8AJhHDI+dKpevmKdhWc3sDG+TvMF6YE3hrSm5TtZ0XdHCH+McvwQm6w6O5/CN0
    # HjSqV2veweNFctBRaDk9KNvQ5o9/1UYp98N3FjoRGAuxdTeilBZ2dcSmGXrRj789
    # nKSCkNxEAjM0cawuo5EqZ5TCy/hFCqWA+W9hFcz63i9bZAwDu/KF7KyR62kKEh5q
    # X1JNKqlyuVNutM3Pn8kbTausoWUxEUgbeGI7ID/iQYmP6V36AyyYlASFlLDwPyQs
    # lgHdEAzPFmQlHMDior4TKE7+9ZtAE6/g5yYaIuGh04pwhlBzwJ/rgyi7Y5sP1Yqr
    # Y5n+y6Ku7wj+gSswZK5iLQ3OFrJfwFQHIfHtW+22oR7oc9Vg0n+1Xsp1cHdJBrWu
    # TzdWjX3KnSMTN9x40dJW/7wkt5+XCZcfPcTP/828dGmk0FN8TJMuCvfh79te8tUj
    # TQ3NDjV4TO8jZBNB3p1ZZfMmwKHvDCBLRr0aj3MVZSvAcoHPlR6yjMENhsm4ERDA
    # Xtsbqt3mIIq0fIvmQHgXDiUvy2FQw/w3Zhrdb9GbBFdYB/T+iFU=
    # =79n1
    # -----END PGP SIGNATURE-----
    # gpg: Signature made Fri 05 May 2023 01:47:17 AM BST
    # gpg:                using RSA key 1899FF8EDEBF58CCEE034B82F487EF185872D723
    # gpg: Good signature from "Juan Quintela <quintela@redhat.com>" [undefined]
    # gpg:                 aka "Juan Quintela <quintela@trasno.org>" [undefined]
    # gpg: WARNING: This key is not certified with a trusted signature!
    # gpg:          There is no indication that the signature belongs to the owner.
    # Primary key fingerprint: 1899 FF8E DEBF 58CC EE03  4B82 F487 EF18 5872 D723
    
    * tag 'migration-20230505-pull-request' of https://gitlab.com/juan.quintela/qemu:
      qemu-file: Make ram_control_save_page() use accessors for rate_limit
      qemu-file: Make total_transferred an uint64_t
      qemu-file: remove shutdown member
      qemu-file: No need to check for shutdown in qemu_file_rate_limit
      migration: qemu_file_total_transferred() function is monotonic
      migration: max_postcopy_bandwidth is a size parameter
      migration/rdma: Check for postcopy sooner
      migration/rdma: It makes no sense to recive that flag without RDMA
      migration/rdma: We can calculate the rioc from the QEMUFile
      migration/rdma: simplify ram_control_load_hook()
      migration: Make RAM_SAVE_FLAG_HOOK a normal case entry
      migration: Rename xbzrle_enabled xbzrle_started
      migration: Put zero_pages in alphabetical order
      migration: Document all migration_stats
      migration/rdma: Don't pass the QIOChannelRDMA as an opaque
      migration: Fix block_bitmap_mapping migration
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
    rth7680 committed May 5, 2023
    Copy the full SHA
    8ad8256 View commit details
    Browse the repository at this point in the history
  7. Merge tag 'pw-pull-request' of https://gitlab.com/marcandre.lureau/qemu

    … into staging
    
    Add PipeWire audio backend
    
    # -----BEGIN PGP SIGNATURE-----
    #
    # iQJQBAABCAA6FiEEh6m9kz+HxgbSdvYt2ujhCXWWnOUFAmRU6nccHG1hcmNhbmRy
    # ZS5sdXJlYXVAcmVkaGF0LmNvbQAKCRDa6OEJdZac5dDeD/9zoDh0crm3svtJZTCy
    # zFsLUjhVaUX0hG3Tb33fCV/FZVgpH1wYupBsx3WfyRy9601r6SEc9obkBWpiCdjd
    # pLRtuyZI5QZ4bRkNZihJn8Q2jvZIwoaVyaFoDWD9NZA5iy7eBRrmd1jPI4BVGnOy
    # 7HkFJne/bH2Qq8mufq2Ehzb1ePdXiIFMAnEwue6jqlNO1WegCFgR/xox2+1cXOvB
    # K0f2Nvreb1MNS5epG2f/iHxEkBomDAXufFbO6oPsZ/i7r3DghGOOdZIbTQq1HC6b
    # AnyfukG2vsshTfEVk9+wOeMs8rP0zerUlZPEMoGgpr0ySXzxcubveH0T2RXMQa+5
    # Ib7ItoBhRnqj9BJkoE4R4eIHMV1sR8iT7DGuqZD7CT2UAGwI2k6S7u5+4sqfRKxo
    # vqLtbUUJcVT31Mt7YI3nX3MUIl3pj5KeRSvhA7dHoAbtz7K1gM1Lb4MU1bnNT6Ih
    # 7le0lWDHTFCOYpAN3bqozZGLtOmSTK813LkI/u6hvIzxK6ib1Dl0/k7qSoVgmWU9
    # HZ1xJlvvZVRy3Zfk89R+Zq+i1oHbZx1qiOcQb4QTUc24ovMVFcXif3g6QlDU5Y2Q
    # cNKl2WFretB/kG/lRJm2QmMMLDDVPwssFpCGXZaOTwBzAWlyLbK+NNFwnYaOhMv9
    # R9/DzZwGG/aUoDpyjgH3Et1vjw==
    # =BJEu
    # -----END PGP SIGNATURE-----
    # gpg: Signature made Fri 05 May 2023 12:37:27 PM BST
    # gpg:                using RSA key 87A9BD933F87C606D276F62DDAE8E10975969CE5
    # gpg:                issuer "marcandre.lureau@redhat.com"
    # gpg: Good signature from "Marc-André Lureau <marcandre.lureau@redhat.com>" [full]
    # gpg:                 aka "Marc-André Lureau <marcandre.lureau@gmail.com>" [full]
    
    * tag 'pw-pull-request' of https://gitlab.com/marcandre.lureau/qemu:
      audio/pwaudio.c: Add Pipewire audio backend for QEMU
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
    rth7680 committed May 5, 2023
    Copy the full SHA
    eb5c393 View commit details
    Browse the repository at this point in the history