[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 6dd4f4: migration: Cleanup migrate_fd_cleanup
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] 6dd4f4: migration: Cleanup migrate_fd_cleanup() on accessi... |
Date: |
Mon, 04 Nov 2024 04:32:28 -0800 |
Branch: refs/heads/staging
Home: https://github.com/qemu/qemu
Commit: 6dd4f44c4f6b1046e5ceb593b9ab4f8fbb92f028
https://github.com/qemu/qemu/commit/6dd4f44c4f6b1046e5ceb593b9ab4f8fbb92f028
Author: Peter Xu <peterx@redhat.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M migration/migration.c
Log Message:
-----------
migration: Cleanup migrate_fd_cleanup() on accessing to_dst_file
The cleanup function can in many cases needs cleanup on its own.
The major thing we want to do here is not referencing to_dst_file when
without the file mutex. When at it, touch things elsewhere too to make it
look slightly better in general.
One thing to mention is, migration_thread has its own "running" boolean, so
it doesn't need to rely on to_dst_file being non-NULL. Multifd has a
dependency so it needs to be skipped if to_dst_file is not yet set; add a
richer comment for such reason.
Resolves: Coverity CID 1527402
Reported-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20240919163042.116767-1-peterx@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Commit: e620b1e4770bc779a6a9467ff753e0acdd4c57f5
https://github.com/qemu/qemu/commit/e620b1e4770bc779a6a9467ff753e0acdd4c57f5
Author: Peter Xu <peterx@redhat.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M migration/colo.c
M migration/dirtyrate.c
M migration/migration.c
M migration/migration.h
M migration/multifd.c
M migration/postcopy-ram.c
M migration/savevm.c
Log Message:
-----------
migration: Put thread names together with macros
Keep migration thread names together, so it's easier to see a list of all
possible migration threads.
Still two functional changes below besides the macro defintions:
- There's one dirty rate thread that we overlooked before, now we add
that too and name it as "mig/dirtyrate" following the old rules.
- The old name "mig/src/rp-thr" has "-thr" but it may not be useful if
it's a thread name anyway, while "rp" can be slightly hard to read.
Taking this chance to rename it to "mig/src/return", hopefully a better
name.
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Acked-by: Hyman Huang <yong.huang@smartx.com>
Reviewed-by: Zhang Chen <chen.zhang@intel.com>
Link: https://lore.kernel.org/r/20241011153652.517440-1-peterx@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Commit: 37dfcba1a04989830c706f9cbc00450e5d3a7447
https://github.com/qemu/qemu/commit/37dfcba1a04989830c706f9cbc00450e5d3a7447
Author: Hanna Czenczek <hreitz@redhat.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M migration/vmstate.c
Log Message:
-----------
migration: Ensure vmstate_save() sets errp
migration/savevm.c contains some calls to vmstate_save() that are
followed by migrate_set_error() if the integer return value indicates an
error. migrate_set_error() requires that the `Error *` object passed to
it is set. Therefore, vmstate_save() is assumed to always set *errp on
error.
Right now, that assumption is not met: vmstate_save_state_v() (called
internally by vmstate_save()) will not set *errp if
vmstate_subsection_save() or vmsd->post_save() fail. Fix that by adding
an *errp parameter to vmstate_subsection_save(), and by generating a
generic error in case post_save() fails (as is already done for
pre_save()).
Without this patch, qemu will crash after vmstate_subsection_save() or
post_save() have failed inside of a vmstate_save() call (unless
migrate_set_error() then happen to discard the new error because
s->error is already set). This happens e.g. when receiving the state
from a virtio-fs back-end (virtiofsd) fails.
Signed-off-by: Hanna Czenczek <hreitz@redhat.com>
Link: https://lore.kernel.org/r/20241015170437.310358-1-hreitz@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Commit: 8c58e2d5ba405dc23865d989647a2fe10eec4402
https://github.com/qemu/qemu/commit/8c58e2d5ba405dc23865d989647a2fe10eec4402
Author: Hyman Huang <yong.huang@smartx.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M accel/tcg/icount-common.c
Log Message:
-----------
accel/tcg/icount-common: Remove the reference to the unused header file
Signed-off-by: Hyman Huang <yong.huang@smartx.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link:
https://lore.kernel.org/r/5e33b423d0b8506e5cb33fff42b50aa301b7731b.1729146786.git.yong.huang@smartx.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Commit: 054e5d66e53e48f842c1cce61dc1b714fe9bf0ee
https://github.com/qemu/qemu/commit/054e5d66e53e48f842c1cce61dc1b714fe9bf0ee
Author: Hyman Huang <yong.huang@smartx.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M migration/migration.c
Log Message:
-----------
migration: Stop CPU throttling conditionally
Since CPU throttling only occurs when auto-converge
is on, stop it conditionally.
Signed-off-by: Hyman Huang <yong.huang@smartx.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link:
https://lore.kernel.org/r/f0c787080bb9ab0c37952f0ca5bfaa525d5ddd14.1729146786.git.yong.huang@smartx.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Commit: d481cec75658b313be3ae8fea3f800780e5c937b
https://github.com/qemu/qemu/commit/d481cec75658b313be3ae8fea3f800780e5c937b
Author: Hyman Huang <yong.huang@smartx.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
A migration/cpu-throttle.c
M migration/meson.build
M migration/migration.c
M migration/trace-events
R system/cpu-throttle.c
M system/cpu-timers.c
M system/meson.build
M system/trace-events
Log Message:
-----------
migration: Move cpu-throttle.c from system to migration
Move cpu-throttle.c from system to migration since it's
only used for migration; this makes us avoid exporting the
util functions and variables in misc.h but export them in
migration.h when implementing the periodic ramblock dirty
sync feature in the upcoming commits.
Since CPU throttle timers are only used in migration, move
their registry to migration_object_init.
Signed-off-by: Hyman Huang <yong.huang@smartx.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link:
https://lore.kernel.org/r/c1b3efaa0cb49e03d422e9da97bdb65cc3d234d1.1729146786.git.yong.huang@smartx.com
[peterx: Fix build on MacOS on cocoa.m, not move cpu-throttle.h yet]
[peterx: Fix subject spelling, per pm215]
Signed-off-by: Peter Xu <peterx@redhat.com>
Commit: 6a39ba7cab67da05b91e215142ce5781e77e5d9f
https://github.com/qemu/qemu/commit/6a39ba7cab67da05b91e215142ce5781e77e5d9f
Author: Hyman Huang <yong.huang@smartx.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M migration/ram.c
Log Message:
-----------
migration: Remove "rs" parameter in migration_bitmap_sync_precopy
The global static variable ram_state in fact is referred to by the
"rs" parameter in migration_bitmap_sync_precopy. For ease of calling
by the callees, use the global variable directly in
migration_bitmap_sync_precopy and remove "rs" parameter.
The migration_bitmap_sync_precopy will be exported in the next commit.
Signed-off-by: Hyman Huang <yong.huang@smartx.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Link:
https://lore.kernel.org/r/283c335d61463bf477160da91b24da45cdaf3e43.1729146786.git.yong.huang@smartx.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Commit: 52ac968ab28b2e1eee2e083f19f2a70fdece5a2e
https://github.com/qemu/qemu/commit/52ac968ab28b2e1eee2e083f19f2a70fdece5a2e
Author: Hyman Huang <yong.huang@smartx.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M include/sysemu/cpu-throttle.h
M migration/cpu-throttle.c
M migration/migration.c
M migration/migration.h
M migration/ram.c
M migration/trace-events
Log Message:
-----------
migration: Support periodic RAMBlock dirty bitmap sync
When VM is configured with huge memory, the current throttle logic
doesn't look like to scale, because migration_trigger_throttle()
is only called for each iteration, so it won't be invoked for a long
time if one iteration can take a long time.
The periodic dirty sync aims to fix the above issue by synchronizing
the ramblock from remote dirty bitmap and, when necessary, triggering
the CPU throttle multiple times during a long iteration.
This is a trade-off between synchronization overhead and CPU throttle
impact.
Signed-off-by: Hyman Huang <yong.huang@smartx.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link:
https://lore.kernel.org/r/f61f1b3653f2acf026901103e1c73d157d38b08f.1729146786.git.yong.huang@smartx.com
[peterx: make prev_cnt global, and reset for each migration]
Signed-off-by: Peter Xu <peterx@redhat.com>
Commit: bfd66ccb8d5e34023ba841f6c751d06f482d91ae
https://github.com/qemu/qemu/commit/bfd66ccb8d5e34023ba841f6c751d06f482d91ae
Author: Hyman Huang <yong.huang@smartx.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M tests/qtest/migration-test.c
Log Message:
-----------
tests/migration: Add case for periodic ramblock dirty sync
Signed-off-by: Hyman Huang <yong.huang@smartx.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link:
https://lore.kernel.org/r/cb61504f1a1e9d5f2ca4dac12e518deb076ce9f3.1729146786.git.yong.huang@smartx.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Commit: 88c3b57f48db781c9fd0b117622f331d0f6fec92
https://github.com/qemu/qemu/commit/88c3b57f48db781c9fd0b117622f331d0f6fec92
Author: Thomas Huth <thuth@redhat.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M migration/dirtyrate.c
Log Message:
-----------
migration/dirtyrate: Silence warning about strcpy() on OpenBSD
The linker on OpenBSD complains:
ld: warning: dirtyrate.c:447 (../src/migration/dirtyrate.c:447)(...):
warning: strcpy() is almost always misused, please use strlcpy()
It's currently not a real problem in this case since both arrays
have the same size (256 bytes). But just in case somebody changes
the size of the source array in the future, let's better play safe
and use g_strlcpy() here instead, with an additional check that the
string has been copied as a whole.
Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Hyman Huang <yong.huang@smartx.com>
Link: https://lore.kernel.org/r/20241022063402.184213-1-thuth@redhat.com
[peterx: Fix over-80 chars]
Signed-off-by: Peter Xu <peterx@redhat.com>
Commit: 228529d1fec305c05a7c7e173258b1c939ef3b1b
https://github.com/qemu/qemu/commit/228529d1fec305c05a7c7e173258b1c939ef3b1b
Author: Peter Xu <peterx@redhat.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M docs/about/deprecated.rst
M qapi/migration.json
Log Message:
-----------
migration: Deprecate query-migrationthreads command
Per previous discussion [1,2], this patch deprecates query-migrationthreads
command.
To summarize, the major reason of the deprecation is due to no sensible way
to consume the API properly:
(1) The reported list of threads are incomplete (ignoring destination
threads and non-multifd threads).
(2) For CPU pinning, there's no way to properly pin the threads with
the API if the threads will start running right away after migration
threads can be queried, so the threads will always run on the default
cores for a short window.
(3) For VM debugging, one can use "-name $VM,debug-threads=on" instead,
which will provide proper names for all migration threads.
[1] https://lore.kernel.org/r/20240930195837.825728-1-peterx@redhat.com
[2] https://lore.kernel.org/r/20241011153417.516715-1-peterx@redhat.com
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Acked-by: Markus Armbruster <armbru@redhat.com>
Link: https://lore.kernel.org/r/20241022194501.1022443-1-peterx@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Commit: 7fc8beb16ee05399837efb41d0924fa1897da864
https://github.com/qemu/qemu/commit/7fc8beb16ee05399837efb41d0924fa1897da864
Author: Peter Xu <peterx@redhat.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M migration/migration.c
Log Message:
-----------
migration: Take migration object refcount earlier for threads
Both migration thread or background snapshot thread will take a refcount of
the migration object at the entrace of the thread function.
That makes sense, because it protects the object from being freed by the
main thread in migration_shutdown() later, but it might still race with it
if the thread is scheduled too late. Consider the case right after
pthread_create() happened, VM shuts down with the object released, but
right after that the migration thread finally got created, referencing
MigrationState* in the opaque pointer which is already freed.
The only 100% safe way to make sure it won't get freed is taking the
refcount right before the thread is created, meanwhile when BQL is held.
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20241024213056.1395400-2-peterx@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Commit: a4ddab35819556aeb88b8c2f3e6f7823175481eb
https://github.com/qemu/qemu/commit/a4ddab35819556aeb88b8c2f3e6f7823175481eb
Author: Peter Xu <peterx@redhat.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M include/migration/misc.h
M migration/migration.h
Log Message:
-----------
migration: Unexport dirty_bitmap_mig_init()
It's only used within migration/, so it shouldn't be exported.
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20241024213056.1395400-3-peterx@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Commit: 64dcd2c9c627b88ec7d071e1b49f0180b467fc71
https://github.com/qemu/qemu/commit/64dcd2c9c627b88ec7d071e1b49f0180b467fc71
Author: Peter Xu <peterx@redhat.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M include/migration/misc.h
M migration/ram.h
Log Message:
-----------
migration: Unexport ram_mig_init()
It's only used within migration/.
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20241024213056.1395400-4-peterx@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Commit: f018eb62b2bb7618b0cb8a796ac4b76fd786ecaf
https://github.com/qemu/qemu/commit/f018eb62b2bb7618b0cb8a796ac4b76fd786ecaf
Author: Peter Xu <peterx@redhat.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M hw/vfio/common.c
M include/migration/misc.h
M migration/migration.c
M migration/ram.c
M net/vhost-vdpa.c
Log Message:
-----------
migration: Drop migration_is_setup_or_active()
This helper is mostly the same as migration_is_running(), except that one
has COLO reported as true, the other has CANCELLING reported as true.
Per my past years experience on the state changes, none of them should
matter.
To make it slightly safer, report both COLO || CANCELLING to be true in
migration_is_running(), then drop the other one. We kept the 1st only
because the name is simpler, and clear enough.
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20241024213056.1395400-5-peterx@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Commit: 34a8892decdcec13d641f57bcb2a9c35fbc4c07b
https://github.com/qemu/qemu/commit/34a8892decdcec13d641f57bcb2a9c35fbc4c07b
Author: Peter Xu <peterx@redhat.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M hw/virtio/virtio-mem.c
M include/migration/misc.h
M migration/migration.c
M migration/ram.c
M system/qdev-monitor.c
Log Message:
-----------
migration: Drop migration_is_idle()
Now with the current migration_is_running(), it will report exactly the
opposite of what will be reported by migration_is_idle().
Drop migration_is_idle(), instead use "!migration_is_running()" which
should be identical on functionality.
In reality, most of the idle check is inverted, so it's even easier to
write with "migrate_is_running()" check.
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20241024213056.1395400-6-peterx@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Commit: b0350c51955f8581873593385672b40b9ec7eb74
https://github.com/qemu/qemu/commit/b0350c51955f8581873593385672b40b9ec7eb74
Author: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M migration/ram.c
M migration/trace-events
Log Message:
-----------
migration/ram: Add load start trace event
There's a RAM load complete trace event but there wasn't its start equivalent.
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link:
https://lore.kernel.org/r/94ddfa7ecb83a78f73b82867dd30c8767592d257.1730203967.git.maciej.szmigiero@oracle.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Commit: 00b4b216534d84ace7b0583cec70a3aaf256cb25
https://github.com/qemu/qemu/commit/00b4b216534d84ace7b0583cec70a3aaf256cb25
Author: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
Date: 2024-10-31 (Thu, 31 Oct 2024)
Changed paths:
M migration/multifd.c
Log Message:
-----------
migration/multifd: Zero p->flags before starting filling a packet
This way there aren't stale flags there.
p->flags can't contain SYNC to be sent at the next RAM packet since syncs
are now handled separately in multifd_send_thread.
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
Link:
https://lore.kernel.org/r/1c96b6cdb797e6f035eb1a4ad9bfc24f4c7f5df8.1730203967.git.maciej.szmigiero@oracle.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Commit: cbad45511840077dafb6e1d1bc2e228baabecff5
https://github.com/qemu/qemu/commit/cbad45511840077dafb6e1d1bc2e228baabecff5
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2024-11-04 (Mon, 04 Nov 2024)
Changed paths:
M accel/tcg/icount-common.c
M docs/about/deprecated.rst
M hw/vfio/common.c
M hw/virtio/virtio-mem.c
M include/migration/misc.h
M include/sysemu/cpu-throttle.h
M migration/colo.c
A migration/cpu-throttle.c
M migration/dirtyrate.c
M migration/meson.build
M migration/migration.c
M migration/migration.h
M migration/multifd.c
M migration/postcopy-ram.c
M migration/ram.c
M migration/ram.h
M migration/savevm.c
M migration/trace-events
M migration/vmstate.c
M net/vhost-vdpa.c
M qapi/migration.json
R system/cpu-throttle.c
M system/cpu-timers.c
M system/meson.build
M system/qdev-monitor.c
M system/trace-events
M tests/qtest/migration-test.c
Log Message:
-----------
Merge tag 'migration-20241030-pull-request' of https://gitlab.com/peterx/qemu
into staging
Migration pull request for softfreeze
v2:
- Patch "migration: Move cpu-throttle.c from system to migration",
fix build on MacOS, and subject spelling
NOTE: checkpatch.pl could report a false positive on this branch:
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#21:
{include/sysemu => migration}/cpu-throttle.h | 0
That's covered by "F: migration/" entry.
Changelog:
- Peter's cleanup patch on migrate_fd_cleanup()
- Peter's cleanup patch to introduce thread name macros
- Hanna's error path fix for vmstate subsection save()s
- Hyman's auto converge enhancement on background dirty sync
- Peter's additional tracepoints for save state entries
- Thomas's build fix for OpenBSD in dirtyrate.c
- Peter's deprecation of query-migrationthreads command
- Peter's cleanup/fixes from the "export misc.h" series
- Maciej's two small patches from multifd+vfio series
# -----BEGIN PGP SIGNATURE-----
#
# iIgEABYKADAWIQS5GE3CDMRX2s990ak7X8zN86vXBgUCZyTbVRIccGV0ZXJ4QHJl
# ZGhhdC5jb20ACgkQO1/MzfOr1wan3wD+L4TVNDc34Hy4mvWu7u1lCOePX0GBdUEc
# oEeBGblwbrcBAIR8d+5z9O5YcWH1coozG1aUC4qCtSHHk5TGbJk4/UUD
# =XB5Q
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 01 Nov 2024 13:44:53 GMT
# gpg: using EDDSA key B9184DC20CC457DACF7DD1A93B5FCCCDF3ABD706
# gpg: issuer "peterx@redhat.com"
# gpg: Good signature from "Peter Xu <xzpeter@gmail.com>" [marginal]
# gpg: aka "Peter Xu <peterx@redhat.com>" [marginal]
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg: It is not certain that the signature belongs to the owner.
# Primary key fingerprint: B918 4DC2 0CC4 57DA CF7D D1A9 3B5F CCCD F3AB D706
* tag 'migration-20241030-pull-request' of https://gitlab.com/peterx/qemu:
migration/multifd: Zero p->flags before starting filling a packet
migration/ram: Add load start trace event
migration: Drop migration_is_idle()
migration: Drop migration_is_setup_or_active()
migration: Unexport ram_mig_init()
migration: Unexport dirty_bitmap_mig_init()
migration: Take migration object refcount earlier for threads
migration: Deprecate query-migrationthreads command
migration/dirtyrate: Silence warning about strcpy() on OpenBSD
tests/migration: Add case for periodic ramblock dirty sync
migration: Support periodic RAMBlock dirty bitmap sync
migration: Remove "rs" parameter in migration_bitmap_sync_precopy
migration: Move cpu-throttle.c from system to migration
migration: Stop CPU throttling conditionally
accel/tcg/icount-common: Remove the reference to the unused header file
migration: Ensure vmstate_save() sets errp
migration: Put thread names together with macros
migration: Cleanup migrate_fd_cleanup() on accessing to_dst_file
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Compare: https://github.com/qemu/qemu/compare/8b426630a3e2...cbad45511840
To unsubscribe from these emails, change your notification settings at
https://github.com/qemu/qemu/settings/notifications
- [Qemu-commits] [qemu/qemu] 6dd4f4: migration: Cleanup migrate_fd_cleanup() on accessi...,
Peter Maydell <=