Skip to content
Snippets Groups Projects
Commit ff180c6b authored by Avihai Horon's avatar Avihai Horon Committed by Alex Williamson
Browse files

vfio/migration: Skip log_sync during migration SETUP state


Currently, VFIO log_sync can be issued while migration is in SETUP
state. However, doing this log_sync is at best redundant and at worst
can fail.

Redundant -- all RAM is marked dirty in migration SETUP state and is
transferred only after migration is set to ACTIVE state, so doing
log_sync during migration SETUP is pointless.

Can fail -- there is a time window, between setting migration state to
SETUP and starting dirty tracking by RAM save_live_setup handler, during
which dirty tracking is still not started. Any VFIO log_sync call that
is issued during this time window will fail. For example, this error can
be triggered by migrating a VM when a GUI is active, which constantly
calls log_sync.

Fix it by skipping VFIO log_sync while migration is in SETUP state.

Fixes: 758b96b6 ("vfio/migrate: Move switch of dirty tracking into vfio_memory_listener")
Signed-off-by: default avatarAvihai Horon <avihaih@nvidia.com>
Link: https://lore.kernel.org/r/20230403130000.6422-1-avihaih@nvidia.com


Signed-off-by: Alex Williamson's avatarAlex Williamson <alex.williamson@redhat.com>
parent 2dca1b37
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment