aboutsummaryrefslogtreecommitdiff
path: root/migration/migration.h
diff options
context:
space:
mode:
authorAndrey Gruzdev <andrey.gruzdev@virtuozzo.com>2021-01-29 13:14:06 +0300
committerDr. David Alan Gilbert <dgilbert@redhat.com>2021-02-08 11:19:51 +0000
commit8518278a6af589ccc401f06e35f171b1e6fae800 (patch)
treeb4875300b2f5d8595f56e9e4a0803f6dab5aa4f8 /migration/migration.h
parent278e2f551a095b234de74dca9c214d5502a1f72c (diff)
downloadqemu-8518278a6af589ccc401f06e35f171b1e6fae800.zip
qemu-8518278a6af589ccc401f06e35f171b1e6fae800.tar.gz
qemu-8518278a6af589ccc401f06e35f171b1e6fae800.tar.bz2
migration: implementation of background snapshot thread
Introducing implementation of 'background' snapshot thread which in overall follows the logic of precopy migration while internally utilizes completely different mechanism to 'freeze' vmstate at the start of snapshot creation. This mechanism is based on userfault_fd with wr-protection support and is Linux-specific. Signed-off-by: Andrey Gruzdev <andrey.gruzdev@virtuozzo.com> Acked-by: Peter Xu <peterx@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-Id: <20210129101407.103458-5-andrey.gruzdev@virtuozzo.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'migration/migration.h')
-rw-r--r--migration/migration.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/migration/migration.h b/migration/migration.h
index f40338c..0723955 100644
--- a/migration/migration.h
+++ b/migration/migration.h
@@ -20,6 +20,7 @@
#include "qemu/thread.h"
#include "qemu/coroutine_int.h"
#include "io/channel.h"
+#include "io/channel-buffer.h"
#include "net/announce.h"
#include "qom/object.h"
@@ -147,8 +148,10 @@ struct MigrationState {
/*< public >*/
QemuThread thread;
+ QEMUBH *vm_start_bh;
QEMUBH *cleanup_bh;
QEMUFile *to_dst_file;
+ QIOChannelBuffer *bioc;
/*
* Protects to_dst_file pointer. We need to make sure we won't
* yield or hang during the critical section, since this lock will