qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 3cba22: migration: Fix block_bitmap_mapping m


From: Richard Henderson
Subject: [Qemu-commits] [qemu/qemu] 3cba22: migration: Fix block_bitmap_mapping migration
Date: Fri, 05 May 2023 14:18:41 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 3cba22c9ade988db239b03e5b77ffdfb16f353cf
      
https://github.com/qemu/qemu/commit/3cba22c9ade988db239b03e5b77ffdfb16f353cf
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-05-05 (Fri, 05 May 2023)

  Changed paths:
    M migration/block-dirty-bitmap.c
    M migration/options.c
    M migration/options.h

  Log Message:
  -----------
  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: b804b35b1c8a0edfd127ac20819c234be55ac7fc
       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>


  Commit: 3ec6828a79c26c303cf4edf167c16e4f256fa354
      
https://github.com/qemu/qemu/commit/3ec6828a79c26c303cf4edf167c16e4f256fa354
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-05-05 (Fri, 05 May 2023)

  Changed paths:
    M migration/rdma.c

  Log Message:
  -----------
  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>


  Commit: e2ee2005585dd2be792b1e5e72cd4c07d787bc3e
      
https://github.com/qemu/qemu/commit/e2ee2005585dd2be792b1e5e72cd4c07d787bc3e
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-05-05 (Fri, 05 May 2023)

  Changed paths:
    M migration/migration-stats.h

  Log Message:
  -----------
  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>


  Commit: 40f240a76447cd51916def9a80ca85ad7967f15c
      
https://github.com/qemu/qemu/commit/40f240a76447cd51916def9a80ca85ad7967f15c
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-05-05 (Fri, 05 May 2023)

  Changed paths:
    M migration/migration-stats.h

  Log Message:
  -----------
  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>


  Commit: f3095cc8a7be285f89c57341b4aaeedf49fad269
      
https://github.com/qemu/qemu/commit/f3095cc8a7be285f89c57341b4aaeedf49fad269
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-05-05 (Fri, 05 May 2023)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  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>


  Commit: 5f1e7540b45fb2a73055a73efb3d7568d107cdd5
      
https://github.com/qemu/qemu/commit/5f1e7540b45fb2a73055a73efb3d7568d107cdd5
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-05-05 (Fri, 05 May 2023)

  Changed paths:
    M migration/ram.c

  Log Message:
  -----------
  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 5b0e9dd46fbda5152566a4a26fd96bc0d0452bf7
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>


  Commit: cf7fe0c5b057bccbbf75c491688cfbfbc5ea20a5
      
https://github.com/qemu/qemu/commit/cf7fe0c5b057bccbbf75c491688cfbfbc5ea20a5
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-05-05 (Fri, 05 May 2023)

  Changed paths:
    M migration/qemu-file.c

  Log Message:
  -----------
  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>


  Commit: 93dc710585f22363eca98cc8982a4290bc8cf25c
      
https://github.com/qemu/qemu/commit/93dc710585f22363eca98cc8982a4290bc8cf25c
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-05-05 (Fri, 05 May 2023)

  Changed paths:
    M migration/rdma.c

  Log Message:
  -----------
  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>


  Commit: 8c90815797af2ae6444a2722b19f7bdaf73b5458
      
https://github.com/qemu/qemu/commit/8c90815797af2ae6444a2722b19f7bdaf73b5458
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-05-05 (Fri, 05 May 2023)

  Changed paths:
    M migration/qemu-file.c

  Log Message:
  -----------
  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>


  Commit: cd01a602312ac02aed9aba4ef73b8b890274094c
      
https://github.com/qemu/qemu/commit/cd01a602312ac02aed9aba4ef73b8b890274094c
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-05-05 (Fri, 05 May 2023)

  Changed paths:
    M migration/rdma.c

  Log Message:
  -----------
  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>


  Commit: 520333490a3c082a8f65f572042637543c4bf148
      
https://github.com/qemu/qemu/commit/520333490a3c082a8f65f572042637543c4bf148
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-05-05 (Fri, 05 May 2023)

  Changed paths:
    M migration/migration.c
    M migration/options.c
    M migration/options.h

  Log Message:
  -----------
  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>


  Commit: f3030d34401ffa1c6dd922eea42225b49b7077c0
      
https://github.com/qemu/qemu/commit/f3030d34401ffa1c6dd922eea42225b49b7077c0
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-05-05 (Fri, 05 May 2023)

  Changed paths:
    M migration/block.c

  Log Message:
  -----------
  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>


  Commit: 27a1243f14af1bc9430c94d5c13f51c734788959
      
https://github.com/qemu/qemu/commit/27a1243f14af1bc9430c94d5c13f51c734788959
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-05-05 (Fri, 05 May 2023)

  Changed paths:
    M migration/qemu-file.c

  Log Message:
  -----------
  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>


  Commit: ac7d25b8163cfd16604cd7d92135dd14713d084b
      
https://github.com/qemu/qemu/commit/ac7d25b8163cfd16604cd7d92135dd14713d084b
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-05-05 (Fri, 05 May 2023)

  Changed paths:
    M migration/qemu-file.c

  Log Message:
  -----------
  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>


  Commit: 61abf1ebdcddafdb62ba6784e04c573ae6beace6
      
https://github.com/qemu/qemu/commit/61abf1ebdcddafdb62ba6784e04c573ae6beace6
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-05-05 (Fri, 05 May 2023)

  Changed paths:
    M migration/block.c
    M migration/qemu-file.c
    M migration/qemu-file.h
    M migration/savevm.c
    M migration/vmstate.c

  Log Message:
  -----------
  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>


  Commit: fae4009fb51b12927165667a9c9d6af93d31b1df
      
https://github.com/qemu/qemu/commit/fae4009fb51b12927165667a9c9d6af93d31b1df
  Author: Juan Quintela <quintela@redhat.com>
  Date:   2023-05-05 (Fri, 05 May 2023)

  Changed paths:
    M migration/qemu-file.c

  Log Message:
  -----------
  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>


  Commit: c2d3d1c294151cea0e62d3ecca09837fc23ba4b3
      
https://github.com/qemu/qemu/commit/c2d3d1c294151cea0e62d3ecca09837fc23ba4b3
  Author: Dorinda Bassey <dbassey@redhat.com>
  Date:   2023-05-05 (Fri, 05 May 2023)

  Changed paths:
    M audio/audio.c
    M audio/audio_template.h
    M audio/meson.build
    A audio/pwaudio.c
    M audio/trace-events
    M meson.build
    M meson_options.txt
    M qapi/audio.json
    M qemu-options.hx
    M scripts/meson-buildoptions.sh

  Log Message:
  -----------
  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>


  Commit: 8ad8256ac4ea305fe95967d16d2aba80b7631259
      
https://github.com/qemu/qemu/commit/8ad8256ac4ea305fe95967d16d2aba80b7631259
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-05-05 (Fri, 05 May 2023)

  Changed paths:
    M migration/block-dirty-bitmap.c
    M migration/block.c
    M migration/migration-stats.h
    M migration/migration.c
    M migration/options.c
    M migration/options.h
    M migration/qemu-file.c
    M migration/qemu-file.h
    M migration/ram.c
    M migration/rdma.c
    M migration/savevm.c
    M migration/vmstate.c

  Log Message:
  -----------
  Merge tag 'migration-20230505-pull-request' of 
https://gitlab.com/juan.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>


  Commit: eb5c3932a383ba1ef3a911232c644f2e053ef66c
      
https://github.com/qemu/qemu/commit/eb5c3932a383ba1ef3a911232c644f2e053ef66c
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-05-05 (Fri, 05 May 2023)

  Changed paths:
    M audio/audio.c
    M audio/audio_template.h
    M audio/meson.build
    A audio/pwaudio.c
    M audio/trace-events
    M meson.build
    M meson_options.txt
    M qapi/audio.json
    M qemu-options.hx
    M scripts/meson-buildoptions.sh

  Log Message:
  -----------
  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>


Compare: https://github.com/qemu/qemu/compare/a9fe9e191b43...eb5c3932a383



reply via email to

[Prev in Thread] Current Thread [Next in Thread]