[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] d8a0f0: migration/doc: Add contents
From: |
Alex Bennée |
Subject: |
[Qemu-commits] [qemu/qemu] d8a0f0: migration/doc: Add contents |
Date: |
Tue, 31 Oct 2023 14:59:24 -0700 |
Branch: refs/heads/staging
Home: https://github.com/qemu/qemu
Commit: d8a0f05478e9474dee4df3fe9ce402beab7c12be
https://github.com/qemu/qemu/commit/d8a0f05478e9474dee4df3fe9ce402beab7c12be
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M docs/devel/migration.rst
Log Message:
-----------
migration/doc: Add contents
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231018112827.1325-2-quintela@redhat.com>
Commit: 1aefe2ca14235c475056816fc8c491f11291b332
https://github.com/qemu/qemu/commit/1aefe2ca14235c475056816fc8c491f11291b332
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M docs/devel/migration.rst
Log Message:
-----------
migration/doc: Add documentation for backwards compatiblity
State what are the requeriments to get migration working between qemu
versions. And once there explain how one is supposed to implement a
new feature/default value and not break migration.
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Acked-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231018112827.1325-3-quintela@redhat.com>
Commit: 593c28c02c819abfb1191a451e038fead7bc5c07
https://github.com/qemu/qemu/commit/593c28c02c819abfb1191a451e038fead7bc5c07
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M docs/devel/migration.rst
Log Message:
-----------
migration/doc: How to migrate when hosts have different features
Sometimes devices have different features depending of things outside
of qemu. For instance the kernel. Document how to handle that cases.
Acked-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231018112827.1325-4-quintela@redhat.com>
Commit: e77326179d61585457f88ba0c5152cea5bbaabf0
https://github.com/qemu/qemu/commit/e77326179d61585457f88ba0c5152cea5bbaabf0
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M docs/devel/migration.rst
Log Message:
-----------
migration/doc: We broke backwards compatibility
When we detect that we have broken backwards compatibility in a
released version, we can't do anything for that version. But once we
fix that bug on the next released version, we can "mitigate" that
problem when migrating to new versions to give a way out of that
machine until it does a hard reboot.
Acked-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231018112827.1325-5-quintela@redhat.com>
Commit: 413d64fedcc8e7f83b19ab4b79e3fd1f871f3564
https://github.com/qemu/qemu/commit/413d64fedcc8e7f83b19ab4b79e3fd1f871f3564
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M migration/ram.c
M migration/rdma.c
Log Message:
-----------
migration: Receiving a zero page non zero is an error
We don't allow non zero compressed pages since:
commit 3edcd7e6ebae3ef0ac178eed5f4225803159562d
Author: Peter Lieven <pl@kamp.de>
Date: Tue Mar 26 10:58:35 2013 +0100
migration: search for zero instead of dup pages
RDMA case is a bit more complicated, but they don't handle it since:
commit a1febc4950f2c6232c002f401d7cd409f6fa6a88
Author: Richard Henderson <rth@twiddle.net>
Date: Mon Aug 29 11:46:14 2016 -0700
cutils: Export only buffer_is_zero
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231019085259.13307-2-quintela@redhat.com>
Commit: 7091dabeb41806132428ffe96164c8425854ea27
https://github.com/qemu/qemu/commit/7091dabeb41806132428ffe96164c8425854ea27
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M migration/ram.c
M migration/ram.h
M migration/rdma.c
Log Message:
-----------
migration: Rename ram_handle_compressed() to ram_handle_zero()
Now that we know it only handles zero, we can remove the ch parameter.
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231019085259.13307-3-quintela@redhat.com>
Commit: d869f6297522894ef6c184dbe47b923360faf9e5
https://github.com/qemu/qemu/commit/d869f6297522894ef6c184dbe47b923360faf9e5
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M migration/options.c
Log Message:
-----------
migration: Give one error if trying to set MULTIFD and XBZRLE
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231019110724.15324-2-quintela@redhat.com>
Commit: 0e195629969125e3a168a7e06e3c49d939c36ead
https://github.com/qemu/qemu/commit/0e195629969125e3a168a7e06e3c49d939c36ead
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M migration/options.c
Log Message:
-----------
migration: Give one error if trying to set COMPRESSION and XBZRLE
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231019110724.15324-3-quintela@redhat.com>
Commit: 4e400f9091d496c513fcd513753a2d681be57a3b
https://github.com/qemu/qemu/commit/4e400f9091d496c513fcd513753a2d681be57a3b
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M migration/ram.c
Log Message:
-----------
migration: Remove save_page_use_compression()
After previous patch, we disable the posiblity that we use compression
together with xbzrle. So we can use directly migrate_compress().
Once there, now we don't need the rs parameter, so remove it.
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231019110724.15324-4-quintela@redhat.com>
Commit: 83df387df7fbd4fb76f3beae56f925dead5bba5a
https://github.com/qemu/qemu/commit/83df387df7fbd4fb76f3beae56f925dead5bba5a
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M migration/ram-compress.c
M migration/ram-compress.h
M migration/ram.c
Log Message:
-----------
migration: Make compress_data_with_multithreads return bool
Reviewed-by: Lukas Straub <lukasstraub2@web.de>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231019110724.15324-5-quintela@redhat.com>
Commit: b6e19b6de82987606b0cfe5c120dc1952ec582a5
https://github.com/qemu/qemu/commit/b6e19b6de82987606b0cfe5c120dc1952ec582a5
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M migration/ram-compress.c
Log Message:
-----------
migration: Simplify compress_page_with_multithread()
Move the goto to a while true.
Reviewed-by: Lukas Straub <lukasstraub2@web.de>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231019110724.15324-6-quintela@redhat.com>
Commit: 250b1d7ef62b26fde8dc0f8dacad406807d82f1a
https://github.com/qemu/qemu/commit/250b1d7ef62b26fde8dc0f8dacad406807d82f1a
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M migration/ram-compress.c
M migration/ram.c
Log Message:
-----------
migration: Move busy++ to migrate_with_multithread
And now we can simplify save_compress_page().
Reviewed-by: Lukas Straub <lukasstraub2@web.de>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231019110724.15324-7-quintela@redhat.com>
Commit: fb36fb275f455642599ac882fd5a96a8b00b062e
https://github.com/qemu/qemu/commit/fb36fb275f455642599ac882fd5a96a8b00b062e
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M migration/ram-compress.c
M migration/ram-compress.h
M migration/ram.c
M migration/ram.h
Log Message:
-----------
migration: Create compress_update_rates()
So we can move more compression_counters stuff to ram-compress.c.
Create compression_counters struct to add the stuff that was on
MigrationState.
Reviewed-by: Lukas Straub <lukasstraub2@web.de>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231019110724.15324-8-quintela@redhat.com>
Commit: 742ec5f338593f3bc9d526577d24976eb658dcc5
https://github.com/qemu/qemu/commit/742ec5f338593f3bc9d526577d24976eb658dcc5
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M migration/ram-compress.h
M migration/ram.c
Log Message:
-----------
migration: Export send_queued_data()
This function is only used for compression. So we rename it as
compress_send_queued_data(). We put it on ram-compress.h because we
are moving it later to ram-compress.c.
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231019110724.15324-9-quintela@redhat.com>
Commit: 8020bc9a77086d4beebaa1d6d9a862fcc66d854f
https://github.com/qemu/qemu/commit/8020bc9a77086d4beebaa1d6d9a862fcc66d854f
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M migration/ram-compress.c
M migration/ram-compress.h
M migration/ram.c
Log Message:
-----------
migration: Move ram_flush_compressed_data() to ram-compress.c
As we export it, rename it compress_flush_data().
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231019110724.15324-10-quintela@redhat.com>
Commit: f639cfe515b159c86fbb6c7a10d2146ca1b99b23
https://github.com/qemu/qemu/commit/f639cfe515b159c86fbb6c7a10d2146ca1b99b23
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M migration/ram-compress.c
M migration/ram-compress.h
Log Message:
-----------
migration: Merge flush_compressed_data() and compress_flush_data()
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231019110724.15324-11-quintela@redhat.com>
Commit: 8258f2fa06f71c7a48b95c39c896626564fe3474
https://github.com/qemu/qemu/commit/8258f2fa06f71c7a48b95c39c896626564fe3474
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M migration/ram-compress.c
M migration/ram-compress.h
M migration/ram.c
Log Message:
-----------
migration: Rename ram_compressed_pages() to compress_ram_pages()
We are moving to have all functions exported from ram-compress.c to
start with compress_.
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231019110724.15324-12-quintela@redhat.com>
Commit: bc3d41a9f62905629d6da98f68cc15069d2374c6
https://github.com/qemu/qemu/commit/bc3d41a9f62905629d6da98f68cc15069d2374c6
Author: Thomas Huth <thuth@redhat.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M migration/ram.c
Log Message:
-----------
migration/ram: Fix compilation with -Wshadow=local
Rename the variable here to avoid that it shadows a variable from
the beginning of the function scope. With this change the code now
successfully compiles with -Wshadow=local.
Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231024092220.55305-1-thuth@redhat.com>
Commit: 4d8bdc2ae043a572a2ec6f8788123935a2de0943
https://github.com/qemu/qemu/commit/4d8bdc2ae043a572a2ec6f8788123935a2de0943
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M include/migration/vmstate.h
M migration/savevm.c
M migration/vmstate.c
Log Message:
-----------
migration: rename vmstate_save_needed->vmstate_section_needed
The function is used on save at this point. The following commits will
use it on load.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231024084043.2926316-5-marcandre.lureau@redhat.com>
Commit: cd4c0da6dbeac5cc986a4a553c722cbf4b3d0300
https://github.com/qemu/qemu/commit/cd4c0da6dbeac5cc986a4a553c722cbf4b3d0300
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: 2023-10-30 (Mon, 30 Oct 2023)
Changed paths:
M migration/vmstate.c
Log Message:
-----------
migration: set file error on subsection loading
commit 13cde50889237 ("vmstate: Return error in case of error") sets
QemuFile error to stop reading from it and report to the caller (checked
by unit tests). We should do the same on subsection loading error.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231024084043.2926316-8-marcandre.lureau@redhat.com>
Commit: bf1695c2523510ff8945d88c971b25baac66543d
https://github.com/qemu/qemu/commit/bf1695c2523510ff8945d88c971b25baac66543d
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M tests/qemu-iotests/183
M tests/qemu-iotests/common.filter
Log Message:
-----------
qemu-iotests: Filter warnings about block migration being deprecated
Create a new filter that removes the two warnings for test 183.
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231018115513.2163-2-quintela@redhat.com>
Commit: 40101f320d6bf504663327cd12e99f36555a1f56
https://github.com/qemu/qemu/commit/40101f320d6bf504663327cd12e99f36555a1f56
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M docs/about/deprecated.rst
M migration/migration-hmp-cmds.c
M migration/migration.c
M qapi/migration.json
Log Message:
-----------
migration: migrate 'inc' command option is deprecated.
Use blockdev-mirror with NBD instead.
Reviewed-by: Thomas Huth <thuth@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231018115513.2163-3-quintela@redhat.com>
Commit: 8846b5bfca761d599974482c21fa6da3d3c13a70
https://github.com/qemu/qemu/commit/8846b5bfca761d599974482c21fa6da3d3c13a70
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M docs/about/deprecated.rst
M migration/migration-hmp-cmds.c
M migration/migration.c
M qapi/migration.json
Log Message:
-----------
migration: migrate 'blk' command option is deprecated.
Use blocked-mirror with NBD instead.
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231018115513.2163-4-quintela@redhat.com>
Commit: 66db46ca83b8fb72f089e33be12e1a55b3b17eb6
https://github.com/qemu/qemu/commit/66db46ca83b8fb72f089e33be12e1a55b3b17eb6
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M docs/about/deprecated.rst
M migration/block.c
M migration/options.c
M qapi/migration.json
Log Message:
-----------
migration: Deprecate block migration
It is obsolete. It is better to use driver-mirror with NBD instead.
CC: Kevin Wolf <kwolf@redhat.com>
CC: Eric Blake <eblake@redhat.com>
CC: Stefan Hajnoczi <stefanha@redhat.com>
CC: Hanna Czenczek <hreitz@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231018115513.2163-5-quintela@redhat.com>
Commit: 864128df465a8b041e089475e903be8d7d0d06ef
https://github.com/qemu/qemu/commit/864128df465a8b041e089475e903be8d7d0d06ef
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M docs/about/deprecated.rst
M migration/options.c
M qapi/migration.json
Log Message:
-----------
migration: Deprecate old compression method
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Acked-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231018115513.2163-6-quintela@redhat.com>
Commit: a2326705e5a6bb21338b3d84f1b0e0b4f46cbc82
https://github.com/qemu/qemu/commit/a2326705e5a6bb21338b3d84f1b0e0b4f46cbc82
Author: Peter Xu <peterx@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M migration/ram.c
Log Message:
-----------
migration: Stop migration immediately in RDMA error paths
In multiple places, RDMA errors are handled in a strange way, where it only
sets qemu_file_set_error() but not stop the migration immediately.
It's not obvious what will happen later if there is already an error. Make
all such failures stop migration immediately.
Cc: Zhijian Li (Fujitsu) <lizhijian@fujitsu.com>
Cc: Markus Armbruster <armbru@redhat.com>
Cc: Juan Quintela <quintela@redhat.com>
Cc: Fabiano Rosas <farosas@suse.de>
Reported-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231024163933.516546-1-peterx@redhat.com>
Commit: cc8bf57d56ef22a66711100f5d94861a627e9b9f
https://github.com/qemu/qemu/commit/cc8bf57d56ef22a66711100f5d94861a627e9b9f
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M migration/qemu-file.c
Log Message:
-----------
qemu-file: Don't increment qemu_file_transferred at qemu_file_fill_buffer
We only call qemu_file_transferred_* on the sending side. Remove the
increment at qemu_file_fill_buffer() and add asserts to
qemu_file_transferred* functions.
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231025091117.6342-2-quintela@redhat.com>
Commit: 2d897237e01a7ed0dd8b9ac3b3a8234900145350
https://github.com/qemu/qemu/commit/2d897237e01a7ed0dd8b9ac3b3a8234900145350
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M migration/migration-stats.h
M migration/qemu-file.c
Log Message:
-----------
qemu_file: Use a stat64 for qemu_file_transferred
This way we can read it from any thread.
I checked that it gives the same value as the current one. We never
use two qemu_files at the same time.
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231025091117.6342-3-quintela@redhat.com>
Commit: 5e2652185b6a08fcf5c1acc2d81b59ddb9c7855d
https://github.com/qemu/qemu/commit/5e2652185b6a08fcf5c1acc2d81b59ddb9c7855d
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M migration/qemu-file.c
Log Message:
-----------
qemu_file: total_transferred is not used anymore
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231025091117.6342-4-quintela@redhat.com>
Commit: 737840e2c6ea76896ffd8d3f5474fd4a4aee62d6
https://github.com/qemu/qemu/commit/737840e2c6ea76896ffd8d3f5474fd4a4aee62d6
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M migration/migration-stats.c
Log Message:
-----------
migration: Use the number of transferred bytes directly
We only use migration_transferred_bytes() to calculate the rate_limit,
for that we don't need to flush whatever is on the qemu_file buffer.
Remember that the buffer is really small (normal case is 32K if we use
iov's can be 64 * TARGET_PAGE_SIZE), so this is not relevant to
calculations.
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231025091117.6342-5-quintela@redhat.com>
Commit: e833cad7e7ed4ee2b48237ff1a6a4ee95280b6ac
https://github.com/qemu/qemu/commit/e833cad7e7ed4ee2b48237ff1a6a4ee95280b6ac
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M migration/qemu-file.c
M migration/qemu-file.h
Log Message:
-----------
qemu_file: Remove unused qemu_file_transferred()
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231025091117.6342-6-quintela@redhat.com>
Commit: e9c0eed7c2c20f65904ffb33fc7b47a229ed5106
https://github.com/qemu/qemu/commit/e9c0eed7c2c20f65904ffb33fc7b47a229ed5106
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 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: Remove _noflush from qemu_file_transferred_noflush()
qemu_file_transferred() don't exist anymore, so we can reuse the name.
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231025091117.6342-7-quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Commit: f57e5a6ce50f10941399014c628db8713c2bc3f9
https://github.com/qemu/qemu/commit/f57e5a6ce50f10941399014c628db8713c2bc3f9
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M migration/migration-stats.c
M migration/migration-stats.h
M migration/migration.c
Log Message:
-----------
migration: migration_transferred_bytes() don't need the QEMUFile
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231025091117.6342-8-quintela@redhat.com>
Commit: 0743f41fd293b033de289c52faa45d06a5b1d544
https://github.com/qemu/qemu/commit/0743f41fd293b033de289c52faa45d06a5b1d544
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M migration/migration-stats.c
M migration/migration-stats.h
M migration/migration.c
Log Message:
-----------
migration: migration_rate_limit_reset() don't need the QEMUFile
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231025091117.6342-9-quintela@redhat.com>
Commit: fc55cf318a19c385c25843865788ffdd05cde607
https://github.com/qemu/qemu/commit/fc55cf318a19c385c25843865788ffdd05cde607
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M migration/qemu-file.c
Log Message:
-----------
qemu-file: Simplify qemu_file_get_error()
If we pass a NULL error is the same that returning directly the value.
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231025091117.6342-10-quintela@redhat.com>
Commit: 897fd8bdce6c0939e0c35ae8fda4af09b5e5fb40
https://github.com/qemu/qemu/commit/897fd8bdce6c0939e0c35ae8fda4af09b5e5fb40
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M migration/migration.c
M migration/ram.c
Log Message:
-----------
migration: Use migration_transferred_bytes()
There are only two differnces with the old value:
- the amount of QEMUFile that hasn't yet been flushed. It can be
discussed what is more exact, the new or the old one.
- the amount of transferred bytes that we forgot to account for (the
newer is better, i.e. exact).
Notice that this two values are used to:
a - present to the user
b - calculate the rate_limit
So a few KB here and there is not going to make a difference.
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231025091117.6342-11-quintela@redhat.com>
Commit: 0f8596180a304182d4fcf8686b73355de9f37a5d
https://github.com/qemu/qemu/commit/0f8596180a304182d4fcf8686b73355de9f37a5d
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M migration/migration-stats.h
M migration/multifd.c
M migration/ram.c
Log Message:
-----------
migration: Remove transferred atomic counter
After last commit, it is a write only variable.
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231025091117.6342-12-quintela@redhat.com>
Commit: be07a0ed22cf10ede7330efbb4818f5896cd6fe3
https://github.com/qemu/qemu/commit/be07a0ed22cf10ede7330efbb4818f5896cd6fe3
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M migration/colo.c
M migration/migration.c
M migration/qemu-file.c
M migration/qemu-file.h
M migration/ram.c
M migration/rdma.c
M migration/savevm.c
Log Message:
-----------
qemu-file: Make qemu_fflush() return errors
This let us simplify code of this shape.
qemu_fflush(f);
int ret = qemu_file_get_error(f);
if (ret) {
return ret;
}
into:
int ret = qemu_fflush(f);
if (ret) {
return ret;
}
I updated all callers where there is any error check.
qemu_fclose() don't need to check for f->last_error because
qemu_fflush() returns it at the beggining of the function.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231025091117.6342-13-quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Commit: 8b097fd6b06ec295faefd4f30f96f8709abc9605
https://github.com/qemu/qemu/commit/8b097fd6b06ec295faefd4f30f96f8709abc9605
Author: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M qemu-img.c
Log Message:
-----------
qemu-img: rebase: stop when reaching EOF of old backing file
In case when we're rebasing within one backing chain, and when target image
is larger than old backing file, bdrv_is_allocated_above() ends up setting
*pnum = 0. As a result, target offset isn't getting incremented, and we
get stuck in an infinite for loop. Let's detect this case and proceed
further down the loop body, as the offsets beyond the old backing size need
to be explicitly zeroed.
Signed-off-by: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Reviewed-by: Denis V. Lunev <den@openvz.org>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Message-ID: <20230919165804.439110-2-andrey.drobyshev@virtuozzo.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 827171c3180533f4ad0bc338ea166f401bb5d348
https://github.com/qemu/qemu/commit/827171c3180533f4ad0bc338ea166f401bb5d348
Author: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M tests/qemu-iotests/024
M tests/qemu-iotests/024.out
Log Message:
-----------
qemu-iotests: 024: add rebasing test case for overlay_size > backing_size
Before previous commit, rebase was getting infitely stuck in case of
rebasing within the same backing chain and when overlay_size > backing_size.
Let's add this case to the rebasing test 024 to make sure it doesn't
break again.
Signed-off-by: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Reviewed-by: Denis V. Lunev <den@openvz.org>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Message-ID: <20230919165804.439110-3-andrey.drobyshev@virtuozzo.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: ce8b8f9fe79b09fe6c1d207274b60fcb6a6e08a9
https://github.com/qemu/qemu/commit/ce8b8f9fe79b09fe6c1d207274b60fcb6a6e08a9
Author: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M qemu-img.c
Log Message:
-----------
qemu-img: rebase: use backing files' BlockBackend for buffer alignment
Since commit bb1c05973cf ("qemu-img: Use qemu_blockalign"), buffers for
the data read from the old and new backing files are aligned using
BlockDriverState (or BlockBackend later on) referring to the target image.
However, this isn't quite right, because buf_new is only being used for
reading from the new backing, while buf_old is being used for both reading
from the old backing and writing to the target. Let's take that into account
and use more appropriate values as alignments.
Signed-off-by: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Message-ID: <20230919165804.439110-4-andrey.drobyshev@virtuozzo.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: c20c8ae70063a88964c14e651fd901d1290d26b2
https://github.com/qemu/qemu/commit/c20c8ae70063a88964c14e651fd901d1290d26b2
Author: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M qemu-img.c
Log Message:
-----------
qemu-img: add chunk size parameter to compare_buffers()
Add @chsize param to the function which, if non-zero, would represent
the chunk size to be used for comparison. If it's zero, then
BDRV_SECTOR_SIZE is used as default chunk size, which is the previous
behaviour.
In particular, we're going to use this param in img_rebase() to make the
write requests aligned to a predefined alignment value.
Signed-off-by: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Message-ID: <20230919165804.439110-5-andrey.drobyshev@virtuozzo.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 12df580b3b7f1c3d08254d4e50e787fe1cae56b4
https://github.com/qemu/qemu/commit/12df580b3b7f1c3d08254d4e50e787fe1cae56b4
Author: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M qemu-img.c
Log Message:
-----------
qemu-img: rebase: avoid unnecessary COW operations
When rebasing an image from one backing file to another, we need to
compare data from old and new backings. If the diff between that data
happens to be unaligned to the target cluster size, we might end up
doing partial writes, which would lead to copy-on-write and additional IO.
Consider the following simple case (virtual_size == cluster_size == 64K):
base <-- inc1 <-- inc2
qemu-io -c "write -P 0xaa 0 32K" base.qcow2
qemu-io -c "write -P 0xcc 32K 32K" base.qcow2
qemu-io -c "write -P 0xbb 0 32K" inc1.qcow2
qemu-io -c "write -P 0xcc 32K 32K" inc1.qcow2
qemu-img rebase -f qcow2 -b base.qcow2 -F qcow2 inc2.qcow2
While doing rebase, we'll write a half of the cluster to inc2, and block
layer will have to read the 2nd half of the same cluster from the base image
inc1 while doing this write operation, although the whole cluster is already
read earlier to perform data comparison.
In order to avoid these unnecessary IO cycles, let's make sure every
write request is aligned to the overlay subcluster boundaries. Using
subcluster size is universal as for the images which don't have them
this size equals to the cluster size. so in any case we end up aligning
to the smallest unit of allocation.
Signed-off-by: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Message-ID: <20230919165804.439110-6-andrey.drobyshev@virtuozzo.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: f93e65ee5175a8f8449913553100747aaafecc4d
https://github.com/qemu/qemu/commit/f93e65ee5175a8f8449913553100747aaafecc4d
Author: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M tests/qemu-iotests/024
M tests/qemu-iotests/024.out
M tests/qemu-iotests/271
M tests/qemu-iotests/271.out
Log Message:
-----------
iotests/{024, 271}: add testcases for qemu-img rebase
As the previous commit changes the logic of "qemu-img rebase" (it's using
write alignment now), let's add a couple more test cases which would
ensure it works correctly. In particular, the following scenarios:
024: add test case for rebase within one backing chain when the overlay
cluster size > backings cluster size;
271: add test case for rebase images that contain subclusters. Check
that no extra allocations are being made.
Signed-off-by: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Message-ID: <20230919165804.439110-7-andrey.drobyshev@virtuozzo.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 26ea27898b2b4e322ab932fb61de8f32cd9e4d72
https://github.com/qemu/qemu/commit/26ea27898b2b4e322ab932fb61de8f32cd9e4d72
Author: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M docs/tools/qemu-img.rst
M qemu-img-cmds.hx
M qemu-img.c
Log Message:
-----------
qemu-img: add compression option to rebase subcommand
If we rebase an image whose backing file has compressed clusters, we
might end up wasting disk space since the copied clusters are now
uncompressed. In order to have better control over this, let's add
"--compress" option to the "qemu-img rebase" command.
Note that this option affects only the clusters which are actually being
copied from the original backing file. The clusters which were
uncompressed in the target image will remain so.
Signed-off-by: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Reviewed-by: Denis V. Lunev <den@openvz.org>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Message-ID: <20230919165804.439110-8-andrey.drobyshev@virtuozzo.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 87fe52ceca697e2ff8d42e881538219ced86f760
https://github.com/qemu/qemu/commit/87fe52ceca697e2ff8d42e881538219ced86f760
Author: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M tests/qemu-iotests/271
M tests/qemu-iotests/271.out
A tests/qemu-iotests/314
A tests/qemu-iotests/314.out
Log Message:
-----------
iotests: add tests for "qemu-img rebase" with compression
The test cases considered so far:
314 (new test suite):
1. Check that compression mode isn't compatible with "-f raw" (raw
format doesn't support compression).
2. Check that rebasing an image onto no backing file preserves the data
and writes the copied clusters actually compressed.
3. Same as 2, but with a raw backing file (i.e. the clusters copied from the
backing are originally uncompressed -- we check they end up compressed
after being merged).
4. Remove a single delta from a backing chain, perform the same checks
as in 2.
5. Check that even when backing and overlay are initially uncompressed,
copied clusters end up compressed when rebase with compression is
performed.
271:
1. Check that when target image has subclusters, rebase with compression
will make an entire cluster containing the written subcluster
compressed.
Signed-off-by: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Message-ID: <20230919165804.439110-9-andrey.drobyshev@virtuozzo.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: fed824501501518b1ad3dc08a39f8f855508190d
https://github.com/qemu/qemu/commit/fed824501501518b1ad3dc08a39f8f855508190d
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M block/qapi-sysemu.c
Log Message:
-----------
block: Fix locking in media change monitor commands
blk_insert_bs() requires that the caller holds the AioContext lock for
the node to be inserted. Since commit c066e808e11, neglecting to do so
causes a crash when the child has to be moved to a different AioContext
to attach it to the BlockBackend.
This fixes qmp_blockdev_insert_anon_medium(), which is called for the
QMP commands 'blockdev-insert-medium' and 'blockdev-change-medium', to
correctly take the lock.
Cc: qemu-stable@nongnu.org
Fixes: https://issues.redhat.com/browse/RHEL-3922
Fixes: c066e808e11a5c181b625537b6c78e0de27a4801
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20231013153302.39234-2-kwolf@redhat.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 3be5762294bb03f6a8a284ada6cca7af3a3aeb20
https://github.com/qemu/qemu/commit/3be5762294bb03f6a8a284ada6cca7af3a3aeb20
Author: Kevin Wolf <kwolf@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M tests/qemu-iotests/118
Log Message:
-----------
iotests: Test media change with iothreads
iotests case 118 already tests all relevant operations for media change
with multiple devices, however never with iothreads. This changes the
test so that the virtio-scsi tests run with an iothread.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-ID: <20231013153302.39234-3-kwolf@redhat.com>
Reviewed-by: Hanna Czenczek <hreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 67446e605dc2cc3e14a4d212bc97e6a2038e8f6a
https://github.com/qemu/qemu/commit/67446e605dc2cc3e14a4d212bc97e6a2038e8f6a
Author: Fiona Ebner <f.ebner@proxmox.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M blockjob.c
Log Message:
-----------
blockjob: drop AioContext lock before calling bdrv_graph_wrlock()
Same rationale as in 31b2ddfea3 ("graph-lock: Unlock the AioContext
while polling"). Otherwise, a deadlock can happen.
The alternative would be to pass a BlockDriverState along to
bdrv_graph_wrlock(), but there is no BlockDriverState readily
available and it's also better conceptually, because the lock is held
for the job.
The function is always called with the job's AioContext lock held, via
one of the .abort, .clean, .free or .prepare job driver functions.
Thus, it's safe to drop it.
While mirror_exit_common() does hold a second AioContext lock while
calling block_job_remove_all_bdrv(), that is for the main thread's
AioContext and does not need to be dropped (bdrv_graph_wrlock(bs) also
skips dropping the lock if bdrv_get_aio_context(bs) ==
qemu_get_aio_context()).
Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Message-ID: <20231019131936.414246-2-f.ebner@proxmox.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: e462c6d27d0175a67cd373b3027ea5276d25dd4e
https://github.com/qemu/qemu/commit/e462c6d27d0175a67cd373b3027ea5276d25dd4e
Author: Fiona Ebner <f.ebner@proxmox.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M block.c
Log Message:
-----------
block: avoid potential deadlock during bdrv_graph_wrlock() in bdrv_close()
by passing the BlockDriverState along, so the held AioContext can be
dropped before polling. See commit 31b2ddfea3 ("graph-lock: Unlock the
AioContext while polling") which introduced this functionality for
more information.
The only way to reach bdrv_close() is via bdrv_unref() and for calling
that the BlockDriverState's AioContext lock is supposed to be held.
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Message-ID: <20231019131936.414246-3-f.ebner@proxmox.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 302823854b078f0525cf1babcc4fc9ff7b7d5f71
https://github.com/qemu/qemu/commit/302823854b078f0525cf1babcc4fc9ff7b7d5f71
Author: Fiona Ebner <f.ebner@proxmox.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M blockdev.c
Log Message:
-----------
blockdev: mirror: avoid potential deadlock when using iothread
The bdrv_getlength() function is a generated co-wrapper and uses
AIO_WAIT_WHILE() to wait for the spawned coroutine. AIO_WAIT_WHILE()
expects the lock to be acquired exactly once.
Fix a case where it may be acquired twice. This can happen when the
source node is explicitly specified as the @replaces parameter or if the
source node is a filter node.
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Message-ID: <20231019131936.414246-4-f.ebner@proxmox.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 05c223cef7b50bcd07a388d45b45bdeb517c4082
https://github.com/qemu/qemu/commit/05c223cef7b50bcd07a388d45b45bdeb517c4082
Author: Thomas Huth <thuth@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M tests/vm/openbsd
Log Message:
-----------
tests/vm/openbsd: Use the system dtc package
We can use the pre-packaged libfdt from the dtc package to avoid
that we have to compile this code each time again and again.
While we're at it, the "--python=python3" does not seemt to be
necessary anymore, so we can drop it.
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20231016154049.37147-1-thuth@redhat.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231029145033.592566-2-alex.bennee@linaro.org>
Commit: 580731dcc87eb27a2b0dc20ec331f1ce51864c97
https://github.com/qemu/qemu/commit/580731dcc87eb27a2b0dc20ec331f1ce51864c97
Author: Akihiko Odaki <akihiko.odaki@daynix.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M tests/tcg/Makefile.target
M tests/tcg/aarch64/Makefile.target
M tests/tcg/arm/Makefile.target
M tests/tcg/cris/Makefile.target
M tests/tcg/hexagon/Makefile.target
M tests/tcg/i386/Makefile.target
M tests/tcg/minilib/Makefile.target
M tests/tcg/mips/Makefile.target
M tests/tcg/mips/hello-mips.c
Log Message:
-----------
tests/tcg: Add -fno-stack-protector
A build of GCC 13.2 will have stack protector enabled by default if it
was configured with --enable-default-ssp option. For such a compiler,
it is necessary to explicitly disable stack protector when linking
without standard libraries.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20230731091042.139159-3-akihiko.odaki@daynix.com>
[AJB: fix comment string typo]
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231029145033.592566-3-alex.bennee@linaro.org>
Commit: aa39c4c098190e49eaf8854046dcc1827770f890
https://github.com/qemu/qemu/commit/aa39c4c098190e49eaf8854046dcc1827770f890
Author: Alex Bennée <alex.bennee@linaro.org>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M .gitlab-ci.d/buildtest.yml
M .gitlab-ci.d/container-cross.yml
M tests/docker/dockerfiles/debian-all-test-cross.docker
A tests/docker/dockerfiles/debian-legacy-test-cross.docker
Log Message:
-----------
gitlab: split alpha testing into a legacy container
The current bookworm compiler doesn't build the static binaries due to
bug #1054412 and it might be awhile before it gets fixed. The problem
of keeping older architecture compilers running isn't going to go away
so lets prepare the ground. Create a legacy container and move some
tests around so the others can get upgraded.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231029145033.592566-4-alex.bennee@linaro.org>
Commit: 6f6c399976933d3c77cb0f516d5d8bbfc0fad2b0
https://github.com/qemu/qemu/commit/6f6c399976933d3c77cb0f516d5d8bbfc0fad2b0
Author: Alex Bennée <alex.bennee@linaro.org>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M .gitlab-ci.d/buildtest.yml
Log Message:
-----------
gitlab: clean-up build-soft-softmmu job
Having dropped alpha we also now drop xtensa as we don't have the
compiler in this image. It's not all doom and gloom though as a number
of other targets have gained softmmu TCG tests so we can add them. We
will take care of the other targets with their own containers in
future commits.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231029145033.592566-5-alex.bennee@linaro.org>
Commit: cb8715bf0ce2d8347729bbaf19e236be95d58084
https://github.com/qemu/qemu/commit/cb8715bf0ce2d8347729bbaf19e236be95d58084
Author: Alex Bennée <alex.bennee@linaro.org>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M .gitlab-ci.d/buildtest.yml
M .gitlab-ci.d/container-cross.yml
M tests/docker/Makefile.include
M tests/docker/dockerfiles/debian-loongarch-cross.docker
Log Message:
-----------
gitlab: add build-loongarch to matrix
We have the compiler and with a few updates a container that can build
QEMU so we should at least run the check-tcg smoke tests.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231029145033.592566-6-alex.bennee@linaro.org>
Commit: d004e27b4e10dbe4741e81fa5f8ef9b7ea23818d
https://github.com/qemu/qemu/commit/d004e27b4e10dbe4741e81fa5f8ef9b7ea23818d
Author: Alex Bennée <alex.bennee@linaro.org>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M .gitlab-ci.d/container-cross.yml
M configure
M tests/docker/Makefile.include
R tests/docker/dockerfiles/debian-alpha-cross.docker
Log Message:
-----------
tests/docker: use debian-legacy-test-cross for alpha
Maintaining two sets of containers for test building is silly. While
it makes sense for the QEMU cross-compile targets to have their own
fat containers built by lcitool we might as well merge the other
random debian based compilers into the same one used on gitlab.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231029145033.592566-7-alex.bennee@linaro.org>
Commit: 4e76d98ae962dc22408ac99f2e1c3bf2bce2ef9c
https://github.com/qemu/qemu/commit/4e76d98ae962dc22408ac99f2e1c3bf2bce2ef9c
Author: Alex Bennée <alex.bennee@linaro.org>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M .gitlab-ci.d/buildtest.yml
M .gitlab-ci.d/container-cross.yml
M configure
M tests/docker/Makefile.include
M tests/docker/dockerfiles/debian-all-test-cross.docker
M tests/docker/dockerfiles/debian-legacy-test-cross.docker
R tests/docker/dockerfiles/debian-sh4-cross.docker
Log Message:
-----------
tests/docker: move sh4 to use debian-legacy-test-cross
sh4 is another target which doesn't work with bookworm compilers. To
keep on buster move across to the debian-legacy-test-cross image and
update accordingly.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20231030135715.800164-1-alex.bennee@linaro.org>
Commit: eb4cb4ed1f62ca01ebb23f5fdf89751a2486c96d
https://github.com/qemu/qemu/commit/eb4cb4ed1f62ca01ebb23f5fdf89751a2486c96d
Author: Alex Bennée <alex.bennee@linaro.org>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M .gitlab-ci.d/container-cross.yml
M configure
M tests/docker/Makefile.include
R tests/docker/dockerfiles/debian-powerpc-test-cross.docker
Log Message:
-----------
tests/docker: use debian-all-test-cross for power
Maintaining two sets of containers for test building is silly. While
it makes sense for the QEMU cross-compile targets to have their own
fat containers built by lcitool we might as well merge the other
random debian based compilers into the same one used on gitlab.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231029145033.592566-9-alex.bennee@linaro.org>
Commit: 95f5bf952106f659b16d920dd74d118a4d36b0da
https://github.com/qemu/qemu/commit/95f5bf952106f659b16d920dd74d118a4d36b0da
Author: Alex Bennée <alex.bennee@linaro.org>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M .gitlab-ci.d/container-cross.yml
M configure
M tests/docker/Makefile.include
R tests/docker/dockerfiles/debian-hppa-cross.docker
Log Message:
-----------
tests/docker: use debian-all-test-cross for hppa
Maintaining two sets of containers for test building is silly. While
it makes sense for the QEMU cross-compile targets to have their own
fat containers built by lcitool we might as well merge the other
random debian based compilers into the same one used on gitlab.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231029145033.592566-10-alex.bennee@linaro.org>
Commit: 9d9a573612802a0da653add70a2b3de75fcdc1d0
https://github.com/qemu/qemu/commit/9d9a573612802a0da653add70a2b3de75fcdc1d0
Author: Alex Bennée <alex.bennee@linaro.org>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M .gitlab-ci.d/container-cross.yml
M configure
M tests/docker/Makefile.include
R tests/docker/dockerfiles/debian-m68k-cross.docker
Log Message:
-----------
tests/docker: use debian-all-test-cross for m68k
Maintaining two sets of containers for test building is silly. While
it makes sense for the QEMU cross-compile targets to have their own
fat containers built by lcitool we might as well merge the other
random debian based compilers into the same one used on gitlab.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231029145033.592566-11-alex.bennee@linaro.org>
Commit: 92a3165e1a755ede53a08422eb0983d3e151073c
https://github.com/qemu/qemu/commit/92a3165e1a755ede53a08422eb0983d3e151073c
Author: Alex Bennée <alex.bennee@linaro.org>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M .gitlab-ci.d/container-cross.yml
M configure
M tests/docker/Makefile.include
R tests/docker/dockerfiles/debian-mips64-cross.docker
Log Message:
-----------
tests/docker: use debian-all-test-cross for mips64
Maintaining two sets of containers for test building is silly. While
it makes sense for the QEMU cross-compile targets to have their own
fat containers built by lcitool we might as well merge the other
random debian based compilers into the same one used on gitlab.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231029145033.592566-12-alex.bennee@linaro.org>
Commit: b09bb6d1b82031969ca3a6e11b4168f55d83cdfa
https://github.com/qemu/qemu/commit/b09bb6d1b82031969ca3a6e11b4168f55d83cdfa
Author: Alex Bennée <alex.bennee@linaro.org>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M .gitlab-ci.d/container-cross.yml
M configure
M tests/docker/Makefile.include
R tests/docker/dockerfiles/debian-mips-cross.docker
Log Message:
-----------
tests/docker: use debian-all-test-cross for mips
Maintaining two sets of containers for test building is silly. While
it makes sense for the QEMU cross-compile targets to have their own
fat containers built by lcitool we might as well merge the other
random debian based compilers into the same one used on gitlab.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231029145033.592566-13-alex.bennee@linaro.org>
Commit: 26025d8e3689567121af3bfcd1dd73059b703790
https://github.com/qemu/qemu/commit/26025d8e3689567121af3bfcd1dd73059b703790
Author: Alex Bennée <alex.bennee@linaro.org>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M .gitlab-ci.d/container-cross.yml
M configure
M tests/docker/Makefile.include
R tests/docker/dockerfiles/debian-riscv64-test-cross.docker
Log Message:
-----------
tests/docker: use debian-all-test-cross for riscv64
Maintaining two sets of containers for test building is silly. While
it makes sense for the QEMU cross-compile targets to have their own
fat containers built by lcitool we might as well merge the other
random debian based compilers into the same one used on gitlab.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231029145033.592566-14-alex.bennee@linaro.org>
Commit: 7ccb4153fe7b977a0e3724676a7ab4543b58e496
https://github.com/qemu/qemu/commit/7ccb4153fe7b977a0e3724676a7ab4543b58e496
Author: Alex Bennée <alex.bennee@linaro.org>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M .gitlab-ci.d/container-cross.yml
M configure
M tests/docker/Makefile.include
R tests/docker/dockerfiles/debian-sparc64-cross.docker
Log Message:
-----------
tests/docker: use debian-all-test-cross for sparc64
Maintaining two sets of containers for test building is silly. While
it makes sense for the QEMU cross-compile targets to have their own
fat containers built by lcitool we might as well merge the other
random debian based compilers into the same one used on gitlab.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231029145033.592566-15-alex.bennee@linaro.org>
Commit: aba77ac5dba609ccf17d2214a0f17b9a79cefad6
https://github.com/qemu/qemu/commit/aba77ac5dba609ccf17d2214a0f17b9a79cefad6
Author: Alex Bennée <alex.bennee@linaro.org>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M tests/docker/dockerfiles/debian-all-test-cross.docker
Log Message:
-----------
tests/docker: upgrade debian-all-test-cross to bookworm
This requires a few more tweaks than usual as:
- the default sources format has changed
- bring in python3-tomli from the repos
- split base install from cross compilers
- also include libclang-rt-dev for sanitiser builds
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231029145033.592566-16-alex.bennee@linaro.org>
Commit: dbd6623ce726878f4cbbad4a1af160fcd1d2fe7b
https://github.com/qemu/qemu/commit/dbd6623ce726878f4cbbad4a1af160fcd1d2fe7b
Author: Akihiko Odaki <akihiko.odaki@daynix.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M gdbstub/gdbstub.c
Log Message:
-----------
gdbstub: Check if gdb_regs is NULL
cpu->gdb_regs may be NULL if no coprocessor is registered.
Fixes: 73c392c26b ("gdbstub: Replace gdb_regs with an array")
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20231029145033.592566-17-alex.bennee@linaro.org>
Message-Id: <20231019101030.128431-2-akihiko.odaki@daynix.com>
Tested-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Commit: 2eb71a0c20a6a77be128a76c1ef8fb5dc7028a8b
https://github.com/qemu/qemu/commit/2eb71a0c20a6a77be128a76c1ef8fb5dc7028a8b
Author: Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M semihosting/config.c
Log Message:
-----------
semihosting: fix memleak at semihosting_arg_fallback
We duplicate "cmd" as strtok may modify its argument, but we forgot
to free it later. Furthermore, add_semihosting_arg doesn't take
responsibility for this memory either (it strdup's the argument).
Signed-off-by: Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id:
<03d81c56bfc3d08224e4106efca5949d8894cfa5.1697801632.git.quic_mathbern@quicinc.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231029145033.592566-18-alex.bennee@linaro.org>
Commit: 946bf79e40a6296a46fa7cc4d8c06313ac012a95
https://github.com/qemu/qemu/commit/946bf79e40a6296a46fa7cc4d8c06313ac012a95
Author: Akihiko Odaki <akihiko.odaki@daynix.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M accel/tcg/plugin-gen.c
Log Message:
-----------
plugins: Remove an extra parameter
copy_call() has an unused parameter so remove it.
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-Id: <20231019101030.128431-7-akihiko.odaki@daynix.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20231029145033.592566-19-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Commit: 7f4527626910f21c9e4421236ee7a6383eb3ce2b
https://github.com/qemu/qemu/commit/7f4527626910f21c9e4421236ee7a6383eb3ce2b
Author: Cong Liu <liucong2@kylinos.cn>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M contrib/plugins/lockstep.c
Log Message:
-----------
contrib/plugins: Close file descriptor on error return
This patch closes the file descriptor fd on error return to avoid
resource leak.
Fixes: ec7ee95db909 ("contrib/plugins: fix coverity warning in lockstep")
Signed-off-by: Cong Liu <liucong2@kylinos.cn>
Message-Id: <20231018025225.1640122-1-liucong2@kylinos.cn>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20231029145033.592566-20-alex.bennee@linaro.org>
Commit: ccee48aa736b97f0ce4ab04ad41815f0e575d526
https://github.com/qemu/qemu/commit/ccee48aa736b97f0ce4ab04ad41815f0e575d526
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M block/blkio.c
M block/io_uring.c
M block/linux-aio.c
M block/nvme.c
M block/plug.c
M hw/block/dataplane/xen-block.c
M hw/block/virtio-blk.c
M hw/scsi/virtio-scsi.c
M include/sysemu/block-backend-io.h
Log Message:
-----------
block: rename blk_io_plug_call() API to defer_call()
Prepare to move the blk_io_plug_call() API out of the block layer so
that other subsystems call use this deferred call mechanism. Rename it
to defer_call() but leave the code in block/plug.c.
The next commit will move the code out of the block layer.
Suggested-by: Ilya Maximets <i.maximets@ovn.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Paul Durrant <paul@xen.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20230913200045.1024233-2-stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 433fcea40c31ff355f84da22a46977c2a1b596c3
https://github.com/qemu/qemu/commit/433fcea40c31ff355f84da22a46977c2a1b596c3
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M MAINTAINERS
M block/blkio.c
M block/io_uring.c
M block/linux-aio.c
M block/meson.build
M block/nvme.c
R block/plug.c
M hw/block/dataplane/xen-block.c
M hw/block/virtio-blk.c
M hw/scsi/virtio-scsi.c
A include/qemu/defer-call.h
M include/sysemu/block-backend-io.h
A util/defer-call.c
M util/meson.build
Log Message:
-----------
util/defer-call: move defer_call() to util/
The networking subsystem may wish to use defer_call(), so move the code
to util/ where it can be reused.
As a reminder of what defer_call() does:
This API defers a function call within a defer_call_begin()/defer_call_end()
section, allowing multiple calls to batch up. This is a performance
optimization that is used in the block layer to submit several I/O requests
at once instead of individually:
defer_call_begin(); <-- start of section
...
defer_call(my_func, my_obj); <-- deferred my_func(my_obj) call
defer_call(my_func, my_obj); <-- another
defer_call(my_func, my_obj); <-- another
...
defer_call_end(); <-- end of section, my_func(my_obj) is called once
Suggested-by: Ilya Maximets <i.maximets@ovn.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20230913200045.1024233-3-stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 84d61e5f36a73ed24742b7c7cf7b811e456dd024
https://github.com/qemu/qemu/commit/84d61e5f36a73ed24742b7c7cf7b811e456dd024
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M block/io_uring.c
M block/linux-aio.c
M hw/virtio/trace-events
M hw/virtio/virtio.c
M util/thread-pool.c
Log Message:
-----------
virtio: use defer_call() in virtio_irqfd_notify()
virtio-blk and virtio-scsi invoke virtio_irqfd_notify() to send Used
Buffer Notifications from an IOThread. This involves an eventfd
write(2) syscall. Calling this repeatedly when completing multiple I/O
requests in a row is wasteful.
Use the defer_call() API to batch together virtio_irqfd_notify() calls
made during thread pool (aio=threads), Linux AIO (aio=native), and
io_uring (aio=io_uring) completion processing.
Behavior is unchanged for emulated devices that do not use
defer_call_begin()/defer_call_end() since defer_call() immediately
invokes the callback when called outside a
defer_call_begin()/defer_call_end() region.
fio rw=randread bs=4k iodepth=64 numjobs=8 IOPS increases by ~9% with a
single IOThread and 8 vCPUs. iodepth=1 decreases by ~1% but this could
be noise. Detailed performance data and configuration specifics are
available here:
https://gitlab.com/stefanha/virt-playbooks/-/tree/blk_io_plug-irqfd
This duplicates the BH that virtio-blk uses for batching. The next
commit will remove it.
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20230913200045.1024233-4-stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 073458da5619c8914a91440ef243d1e2b888c1b7
https://github.com/qemu/qemu/commit/073458da5619c8914a91440ef243d1e2b888c1b7
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M hw/block/dataplane/virtio-blk.c
Log Message:
-----------
virtio-blk: remove batch notification BH
There is a batching mechanism for virtio-blk Used Buffer Notifications
that is no longer needed because the previous commit added batching to
virtio_notify_irqfd().
Note that this mechanism was rarely used in practice because it is only
enabled when EVENT_IDX is not negotiated by the driver. Modern drivers
enable EVENT_IDX.
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20230913200045.1024233-5-stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 61a3a5a76a993b74c85f92585b10250d12323c38
https://github.com/qemu/qemu/commit/61a3a5a76a993b74c85f92585b10250d12323c38
Author: Fiona Ebner <f.ebner@proxmox.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M blockdev.c
M blockjob.c
M include/block/blockjob.h
M include/block/blockjob_int.h
M job.c
M qapi/block-core.json
M qapi/job.json
Log Message:
-----------
blockjob: introduce block-job-change QMP command
which will allow changing job-type-specific options after job
creation.
In the JobVerbTable, the same allow bits as for set-speed are used,
because set-speed can be considered an existing change command.
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Message-ID: <20231031135431.393137-2-f.ebner@proxmox.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: c45d0e1af0b9e8fa0b0abc30bd6a4ef8d37964b4
https://github.com/qemu/qemu/commit/c45d0e1af0b9e8fa0b0abc30bd6a4ef8d37964b4
Author: Fiona Ebner <f.ebner@proxmox.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M block/mirror.c
Log Message:
-----------
block/mirror: set actively_synced even after the job is ready
In preparation to allow switching from background to active mode. This
ensures that setting actively_synced will not be missed when the
switch happens after the job is ready.
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Message-ID: <20231031135431.393137-3-f.ebner@proxmox.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 058cfca5645a9ed7cb2bdb77d15f2eacaf343694
https://github.com/qemu/qemu/commit/058cfca5645a9ed7cb2bdb77d15f2eacaf343694
Author: Fiona Ebner <f.ebner@proxmox.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M block/mirror.c
Log Message:
-----------
block/mirror: move dirty bitmap to filter
In preparation to allow switching to active mode without draining.
Initialization of the bitmap in mirror_dirty_init() still happens with
the original/backing BlockDriverState, which should be fine, because
the mirror top has the same length.
Suggested-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Message-ID: <20231031135431.393137-4-f.ebner@proxmox.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 7b32ad2242d6bcb1d5840466bf846fada8ca42e8
https://github.com/qemu/qemu/commit/7b32ad2242d6bcb1d5840466bf846fada8ca42e8
Author: Fiona Ebner <f.ebner@proxmox.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M block/mirror.c
Log Message:
-----------
block/mirror: determine copy_to_target only once
In preparation to allow changing the copy_mode via QMP. When running
in an iothread, it could be that copy_mode is changed from the main
thread in between reading copy_mode in bdrv_mirror_top_pwritev() and
reading copy_mode in bdrv_mirror_top_do_write(), so they might end up
disagreeing about whether copy_to_target is true or false. Avoid that
scenario by determining copy_to_target only once and passing it to
bdrv_mirror_top_do_write() as an argument.
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Message-ID: <20231031135431.393137-5-f.ebner@proxmox.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 2d400d15a02dca3b7b90761b2f0bb2322e99e11a
https://github.com/qemu/qemu/commit/2d400d15a02dca3b7b90761b2f0bb2322e99e11a
Author: Fiona Ebner <f.ebner@proxmox.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M block/mirror.c
M qapi/block-core.json
Log Message:
-----------
mirror: implement mirror_change method
which allows switching the @copy-mode from 'background' to
'write-blocking'.
This is useful for management applications, so they can start out in
background mode to avoid limiting guest write speed and switch to
active mode when certain criteria are fulfilled.
In presence of an iothread, the copy_mode member is now shared between
the iothread and the main thread, so turn accesses to it atomic.
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Message-ID: <20231031135431.393137-6-f.ebner@proxmox.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: d67c54d05fe05cf1b6a3b2cf36cc3832d2a0ce05
https://github.com/qemu/qemu/commit/d67c54d05fe05cf1b6a3b2cf36cc3832d2a0ce05
Author: Fiona Ebner <f.ebner@proxmox.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M block/monitor/block-hmp-cmds.c
M blockjob.c
M qapi/block-core.json
Log Message:
-----------
qapi/block-core: use JobType for BlockJobInfo's type
In preparation to turn BlockJobInfo into a union with @type as the
discriminator. That requires it to be an enum. Even without that
requirement, it's nicer to have an enum instead of a str here.
No functional change is intended.
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Message-ID: <20231031135431.393137-7-f.ebner@proxmox.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 701efc9f2d68707e20eb6f1f9e7781aa639cf0cb
https://github.com/qemu/qemu/commit/701efc9f2d68707e20eb6f1f9e7781aa639cf0cb
Author: Fiona Ebner <f.ebner@proxmox.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M qapi/block-core.json
Log Message:
-----------
qapi/block-core: turn BlockJobInfo into a union
In preparation to additionally return job-type-specific information.
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Message-ID: <20231031135431.393137-8-f.ebner@proxmox.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 59fd82544dea5042deb02c26f61d6f39bd187c02
https://github.com/qemu/qemu/commit/59fd82544dea5042deb02c26f61d6f39bd187c02
Author: Fiona Ebner <f.ebner@proxmox.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M blockjob.c
M include/block/blockjob_int.h
Log Message:
-----------
blockjob: query driver-specific info via a new 'query' driver method
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Message-ID: <20231031135431.393137-9-f.ebner@proxmox.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 76cb2f2491abcf191439ea5052999afed514b3da
https://github.com/qemu/qemu/commit/76cb2f2491abcf191439ea5052999afed514b3da
Author: Fiona Ebner <f.ebner@proxmox.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
M block/mirror.c
M qapi/block-core.json
M tests/qemu-iotests/109.out
Log Message:
-----------
mirror: return mirror-specific information upon query
To start out, only actively-synced is returned.
For example, this is useful for jobs that started out in background
mode and switched to active mode. Once actively-synced is true, it's
clear that the mode switch has been completed. Note that completion of
the switch might happen much earlier, e.g. if the switch happens
before the job is ready, once all background operations have finished.
It's assumed that whether the disks are actively-synced or not is more
interesting than whether the mode switch completed. That information
can still be added if required in the future.
In presence of an iothread, the actively_synced member is now shared
between the iothread and the main thread, so turn accesses to it
atomic.
Requires to adapt the output for iotest 109.
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Message-ID: <20231031135431.393137-10-f.ebner@proxmox.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: 900e7d413d630ebd3f5d64bae0e6249621ec0c7f
https://github.com/qemu/qemu/commit/900e7d413d630ebd3f5d64bae0e6249621ec0c7f
Author: Fiona Ebner <f.ebner@proxmox.com>
Date: 2023-10-31 (Tue, 31 Oct 2023)
Changed paths:
A tests/qemu-iotests/tests/mirror-change-copy-mode
A tests/qemu-iotests/tests/mirror-change-copy-mode.out
Log Message:
-----------
iotests: add test for changing mirror's copy_mode
One part of the test is using a throttled source to ensure that there
are no obvious issues when changing the copy_mode while there are
ongoing requests (source and target images are compared at the very
end).
The other part of the test is using a throttled target to ensure that
the change to active mode actually happened. This is done by hitting
the throttling limit, issuing a synchronous write and then immediately
verifying the target side. QSD is used, because otherwise, a
synchronous write would hang there.
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Message-ID: <20231031135431.393137-11-f.ebner@proxmox.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Commit: f13b978cc7ac5548fca8fc0c1d8491596a446ca5
https://github.com/qemu/qemu/commit/f13b978cc7ac5548fca8fc0c1d8491596a446ca5
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date: 2023-11-01 (Wed, 01 Nov 2023)
Changed paths:
M docs/about/deprecated.rst
M docs/devel/migration.rst
M include/migration/vmstate.h
M migration/block.c
M migration/colo.c
M migration/migration-hmp-cmds.c
M migration/migration-stats.c
M migration/migration-stats.h
M migration/migration.c
M migration/multifd.c
M migration/options.c
M migration/qemu-file.c
M migration/qemu-file.h
M migration/ram-compress.c
M migration/ram-compress.h
M migration/ram.c
M migration/ram.h
M migration/rdma.c
M migration/savevm.c
M migration/vmstate.c
M qapi/migration.json
M tests/qemu-iotests/183
M tests/qemu-iotests/common.filter
Log Message:
-----------
Merge tag 'migration-20231031-pull-request' of
https://gitlab.com/juan.quintela/qemu into staging
Migration Pull request (20231031)
Hi
This is repeat of the Migration PULL for 20231020.
- I removed vmstate_register(big problems with s390x)
- I added yet more countes (juan)
CI: https://gitlab.com/juan.quintela/qemu/-/pipelines/1055797950
Please apply.
Thanks, Juan.
# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEEGJn/jt6/WMzuA0uC9IfvGFhy1yMFAmVAwmYACgkQ9IfvGFhy
# 1yPJ9g//f8Up+5Az0DmJMWwRe+08vLa3ZRCSh5aCRJguFVfMZSVxRNuoikQ/C/Gz
# 1ePB+Q8H0NcP86FF7pifhtLU0uE9L4At4Z+vOQP1+n67p7aush050kKQxyDYIfO2
# 3tO2HkfHvC/R3S5FtqQtE1Y0/MpHdj1vgV9bNidPorA6EZ01KEEfWw3soptuD14I
# LPvXA8BG5mOvB7R55MymTAej3ZDmOUQlZotsE2KmlkOfzYoqTtApkLtW03/WH8b8
# fAYJ0ghYpesRTO1rF61n1peLMUr+/HRLqGJmhLDSEZZlB5tnUYeiLR9dRJ1/1+o2
# zNjLr6X2hnia6Kb0UibRoAcyyy8lSLp79Zt5nhDneuTSQxeYhNh6EecxAzKvd/02
# vfE/reOEkZn7KzYH/MvlD5P6XmwrT5aV9cqmyC/8BkNnipHAtJ2Av1H4ONdnahuK
# hOhLRAGE7SINtgo8jdauQNor1QAsIX19nvYk9p7ta5VAysrDSbuD+9Yq7HtUErlP
# 585z5BPGfaP2GwIXPNJNcqXwPh0InInGASqEWmYSlu8GF3Ic0KNWWrC5bwSn7tHL
# I7qaMrCHxvWGYx6cRzzp08EqCcbOQCixrPyk8g6o3SgXHrTGKthzjPG5bLe+QXpv
# P2gblC7Fo3sUo89IwVjsRMO3nU9wBfb9skE7iZM06SILO7QD3u8=
# =r1DI
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 31 Oct 2023 18:01:26 JST
# gpg: using RSA key 1899FF8EDEBF58CCEE034B82F487EF185872D723
# gpg: Good signature from "Juan Quintela <quintela@redhat.com>" [full]
# gpg: aka "Juan Quintela <quintela@trasno.org>" [full]
# Primary key fingerprint: 1899 FF8E DEBF 58CC EE03 4B82 F487 EF18 5872 D723
* tag 'migration-20231031-pull-request' of
https://gitlab.com/juan.quintela/qemu: (38 commits)
qemu-file: Make qemu_fflush() return errors
migration: Remove transferred atomic counter
migration: Use migration_transferred_bytes()
qemu-file: Simplify qemu_file_get_error()
migration: migration_rate_limit_reset() don't need the QEMUFile
migration: migration_transferred_bytes() don't need the QEMUFile
qemu-file: Remove _noflush from qemu_file_transferred_noflush()
qemu_file: Remove unused qemu_file_transferred()
migration: Use the number of transferred bytes directly
qemu_file: total_transferred is not used anymore
qemu_file: Use a stat64 for qemu_file_transferred
qemu-file: Don't increment qemu_file_transferred at qemu_file_fill_buffer
migration: Stop migration immediately in RDMA error paths
migration: Deprecate old compression method
migration: Deprecate block migration
migration: migrate 'blk' command option is deprecated.
migration: migrate 'inc' command option is deprecated.
qemu-iotests: Filter warnings about block migration being deprecated
migration: set file error on subsection loading
migration: rename vmstate_save_needed->vmstate_section_needed
...
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 997ef293d229983fef0187fbcd99126412bd56e4
https://github.com/qemu/qemu/commit/997ef293d229983fef0187fbcd99126412bd56e4
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date: 2023-11-01 (Wed, 01 Nov 2023)
Changed paths:
M .gitlab-ci.d/buildtest.yml
M .gitlab-ci.d/container-cross.yml
M accel/tcg/plugin-gen.c
M configure
M contrib/plugins/lockstep.c
M gdbstub/gdbstub.c
M semihosting/config.c
M tests/docker/Makefile.include
M tests/docker/dockerfiles/debian-all-test-cross.docker
R tests/docker/dockerfiles/debian-alpha-cross.docker
R tests/docker/dockerfiles/debian-hppa-cross.docker
A tests/docker/dockerfiles/debian-legacy-test-cross.docker
M tests/docker/dockerfiles/debian-loongarch-cross.docker
R tests/docker/dockerfiles/debian-m68k-cross.docker
R tests/docker/dockerfiles/debian-mips-cross.docker
R tests/docker/dockerfiles/debian-mips64-cross.docker
R tests/docker/dockerfiles/debian-powerpc-test-cross.docker
R tests/docker/dockerfiles/debian-riscv64-test-cross.docker
R tests/docker/dockerfiles/debian-sh4-cross.docker
R tests/docker/dockerfiles/debian-sparc64-cross.docker
M tests/tcg/Makefile.target
M tests/tcg/aarch64/Makefile.target
M tests/tcg/arm/Makefile.target
M tests/tcg/cris/Makefile.target
M tests/tcg/hexagon/Makefile.target
M tests/tcg/i386/Makefile.target
M tests/tcg/minilib/Makefile.target
M tests/tcg/mips/Makefile.target
M tests/tcg/mips/hello-mips.c
M tests/vm/openbsd
Log Message:
-----------
Merge tag 'pull-halloween-omnibus-311023-2' of
https://gitlab.com/stsquad/qemu into staging
Maintainer updates for testing, gitlab, gdbstub and plugins:
- add dtc package to openbsd VMs
- use -fno-stack-protector for non-stdlib tests
- split alpha and sh4 compilers into legacy image
- harmonise other compilers into debian-all-test-cross
- fix NULL check in gdb_regs
- fix memleak in semihosting
- remove unused parameter in plugin code
- fix fd leak in lockstep plugin
# -----BEGIN PGP SIGNATURE-----
#
# iQEzBAABCgAdFiEEZoWumedRZ7yvyN81+9DbCVqeKkQFAmVBCvQACgkQ+9DbCVqe
# KkR8jAgAjFC3BE6fu80zYT0Dmeu8zh20QY/wgKQebaFfGEmPL4Bqkl2D/Rx7PhQA
# EH8fR/LAH/iXAO07+LYOB6QiyMb9PWiXS52iHyE3q11mOaM8iKkkj7a59NW8DfGC
# biSrj9o3wpz9gGkJjzTCcHC8DOMbrAuE12XnmhW7uTqqkrcTMC393dSEeyL+nrP9
# lKS5XzFyn3FOT4YIL8hAC02ObKH4LpWIO3gdWeDAo56yg24fLir9a2wYSXMaxQtN
# kDf6UtL97CIIhbNi6qrUPBB13MV8MlXno3wnb9+E4Cn5sGntGSnTyh7j6XrGqYj9
# p/Vio6ye8xP1IjlavKiBM0nnozcAhw==
# =ZOMS
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 31 Oct 2023 23:11:00 JST
# gpg: using RSA key 6685AE99E75167BCAFC8DF35FBD0DB095A9E2A44
# gpg: Good signature from "Alex Bennée (Master Work Key)
<alex.bennee@linaro.org>" [unknown]
# 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: 6685 AE99 E751 67BC AFC8 DF35 FBD0 DB09 5A9E 2A44
* tag 'pull-halloween-omnibus-311023-2' of https://gitlab.com/stsquad/qemu:
contrib/plugins: Close file descriptor on error return
plugins: Remove an extra parameter
semihosting: fix memleak at semihosting_arg_fallback
gdbstub: Check if gdb_regs is NULL
tests/docker: upgrade debian-all-test-cross to bookworm
tests/docker: use debian-all-test-cross for sparc64
tests/docker: use debian-all-test-cross for riscv64
tests/docker: use debian-all-test-cross for mips
tests/docker: use debian-all-test-cross for mips64
tests/docker: use debian-all-test-cross for m68k
tests/docker: use debian-all-test-cross for hppa
tests/docker: use debian-all-test-cross for power
tests/docker: move sh4 to use debian-legacy-test-cross
tests/docker: use debian-legacy-test-cross for alpha
gitlab: add build-loongarch to matrix
gitlab: clean-up build-soft-softmmu job
gitlab: split alpha testing into a legacy container
tests/tcg: Add -fno-stack-protector
tests/vm/openbsd: Use the system dtc package
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 6c9ae1ce82b65faa3f266fd103729878cf11e07e
https://github.com/qemu/qemu/commit/6c9ae1ce82b65faa3f266fd103729878cf11e07e
Author: Stefan Hajnoczi <stefanha@redhat.com>
Date: 2023-11-01 (Wed, 01 Nov 2023)
Changed paths:
M MAINTAINERS
M block.c
M block/blkio.c
M block/io_uring.c
M block/linux-aio.c
M block/meson.build
M block/mirror.c
M block/monitor/block-hmp-cmds.c
M block/nvme.c
R block/plug.c
M block/qapi-sysemu.c
M blockdev.c
M blockjob.c
M docs/tools/qemu-img.rst
M hw/block/dataplane/virtio-blk.c
M hw/block/dataplane/xen-block.c
M hw/block/virtio-blk.c
M hw/scsi/virtio-scsi.c
M hw/virtio/trace-events
M hw/virtio/virtio.c
M include/block/blockjob.h
M include/block/blockjob_int.h
A include/qemu/defer-call.h
M include/sysemu/block-backend-io.h
M job.c
M qapi/block-core.json
M qapi/job.json
M qemu-img-cmds.hx
M qemu-img.c
M tests/qemu-iotests/024
M tests/qemu-iotests/024.out
M tests/qemu-iotests/109.out
M tests/qemu-iotests/118
M tests/qemu-iotests/271
M tests/qemu-iotests/271.out
A tests/qemu-iotests/314
A tests/qemu-iotests/314.out
A tests/qemu-iotests/tests/mirror-change-copy-mode
A tests/qemu-iotests/tests/mirror-change-copy-mode.out
A util/defer-call.c
M util/meson.build
M util/thread-pool.c
Log Message:
-----------
Merge tag 'for-upstream' of https://repo.or.cz/qemu/kevin into staging
Block layer patches
- virtio-blk: use blk_io_plug_call() instead of notification BH
- mirror: allow switching from background to active mode
- qemu-img rebase: add compression support
- Fix locking in media change monitor commands
- Fix a few blockjob-related deadlocks when using iothread
# -----BEGIN PGP SIGNATURE-----
#
# iQJFBAABCAAvFiEE3D3rFZqa+V09dFb+fwmycsiPL9YFAmVBTkERHGt3b2xmQHJl
# ZGhhdC5jb20ACgkQfwmycsiPL9ZiqRAAqvsWbblmEGJ7TBKYQK3f8QshJ66RxzbC
# 4eSjKHrciWNTeeIeU8r8OvFcPPoTcPXxpcmasD2gsAxG5W5N8vkPbBkW+YT4YdDJ
# pWJXrbJ15nILC4DmnR1ARVtvxKgv9zy5LSm5bjss1K+OSYJl/nx+ILjmfVZnYDF7
# z1dP/G0JxKKm4JzAIdBE3uZS+6Q5kx/wGYlJv8EQmlH3DYfsJfy6Lthe9jfw8ijg
# lSqLoQ+D0lEd6Bk4XbkUqqBxFcYBWTfU6qPZoyIO94zCTwTG9yIjmoivxmmfwQZq
# cJUTGGZjcxpJYnvcC6P13WgcWBtcD9L2kYFVH0JyjpwcSg9cCGHMF66n9pSlyEGq
# DUikwVzbTwOotwzYQyM88v4ET+2+Qdcwn8pRbv9PllEczh0kAsUAEuxSgtz4NEcN
# bZrap/16xHFybNOKkMZcmpqxspT5NXKbDODUP0IvbSYMOYpWS983nBTxwMRpyHog
# 2TFDZu4DjNiPkI2BcYM5VOKk6diNowZFShcEKvoaOLX/n9EBhP0tjoH9VUn1800F
# myHrhF2jpIf9GhErMWB7N2W3/0aK0pqdQgbpVnd1ARDdIdYkr7G/S+50D9K80b6n
# 0q2E7br4S5bcsY0HQzBL9YARSayY+lVOssLoolCWEsYzijdBQmAvs5THajFKcism
# /idI6nlp2Vs=
# =RdxS
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 01 Nov 2023 03:58:09 JST
# gpg: using RSA key DC3DEB159A9AF95D3D7456FE7F09B272C88F2FD6
# gpg: issuer "kwolf@redhat.com"
# gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full]
# Primary key fingerprint: DC3D EB15 9A9A F95D 3D74 56FE 7F09 B272 C88F 2FD6
* tag 'for-upstream' of https://repo.or.cz/qemu/kevin: (27 commits)
iotests: add test for changing mirror's copy_mode
mirror: return mirror-specific information upon query
blockjob: query driver-specific info via a new 'query' driver method
qapi/block-core: turn BlockJobInfo into a union
qapi/block-core: use JobType for BlockJobInfo's type
mirror: implement mirror_change method
block/mirror: determine copy_to_target only once
block/mirror: move dirty bitmap to filter
block/mirror: set actively_synced even after the job is ready
blockjob: introduce block-job-change QMP command
virtio-blk: remove batch notification BH
virtio: use defer_call() in virtio_irqfd_notify()
util/defer-call: move defer_call() to util/
block: rename blk_io_plug_call() API to defer_call()
blockdev: mirror: avoid potential deadlock when using iothread
block: avoid potential deadlock during bdrv_graph_wrlock() in bdrv_close()
blockjob: drop AioContext lock before calling bdrv_graph_wrlock()
iotests: Test media change with iothreads
block: Fix locking in media change monitor commands
iotests: add tests for "qemu-img rebase" with compression
...
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Compare: https://github.com/qemu/qemu/compare/516fffc9933c...6c9ae1ce82b6
- [Qemu-commits] [qemu/qemu] d8a0f0: migration/doc: Add contents,
Alex Bennée <=