[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 11/18] migration: introduce capability localhost
From: |
Lei Li |
Subject: |
[Qemu-devel] [PATCH 11/18] migration: introduce capability localhost |
Date: |
Wed, 21 Aug 2013 15:18:48 +0800 |
Introduce migration capability localhost.
Signed-off-by: Lei Li <address@hidden>
---
include/migration/migration.h | 3 +++
migration.c | 12 ++++++++++++
qapi-schema.json | 8 +++++++-
3 files changed, 22 insertions(+), 1 deletions(-)
diff --git a/include/migration/migration.h b/include/migration/migration.h
index d2c7eff..a04f050 100644
--- a/include/migration/migration.h
+++ b/include/migration/migration.h
@@ -143,10 +143,13 @@ void migrate_add_blocker(Error *reason);
void migrate_del_blocker(Error *reason);
bool migrate_rdma_pin_all(void);
+
bool migrate_zero_blocks(void);
bool migrate_auto_converge(void);
+bool migrate_is_localhost(void);
+
int xbzrle_encode_buffer(uint8_t *old_buf, uint8_t *new_buf, int slen,
uint8_t *dst, int dlen);
int xbzrle_decode_buffer(uint8_t *src, int slen, uint8_t *dst, int dlen);
diff --git a/migration.c b/migration.c
index 2446a6a..2f85358 100644
--- a/migration.c
+++ b/migration.c
@@ -420,6 +420,9 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk,
} else if (strstart(uri, "exec:", &p)) {
exec_start_outgoing_migration(s, p, &local_err);
} else if (strstart(uri, "unix:", &p)) {
+ if (s->enabled_capabilities[MIGRATION_CAPABILITY_LOCALHOST]) {
+ local_start_outgoing_migration(s, p, &local_err);
+ }
unix_start_outgoing_migration(s, p, &local_err);
} else if (strstart(uri, "fd:", &p)) {
fd_start_outgoing_migration(s, p, &local_err);
@@ -521,6 +524,15 @@ int migrate_use_xbzrle(void)
return s->enabled_capabilities[MIGRATION_CAPABILITY_XBZRLE];
}
+bool migrate_is_localhost(void)
+{
+ MigrationState *s;
+
+ s = migrate_get_current();
+
+ return s->enabled_capabilities[MIGRATION_CAPABILITY_LOCALHOST];
+}
+
int64_t migrate_xbzrle_cache_size(void)
{
MigrationState *s;
diff --git a/qapi-schema.json b/qapi-schema.json
index a51f7d2..557337f 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -629,10 +629,16 @@
# @auto-converge: If enabled, QEMU will automatically throttle down the guest
# to speed up convergence of RAM migration. (since 1.6)
#
+# @localhost: If enabled, QEMU will support localhost migration. This feature
+# allows live upgrade of a running QEMU instance by doing localhost
+# migration with page flipping. It requires the source and
destination
+# are both on localhost. Disabled by default. (since 1.7)
+#
# Since: 1.2
##
{ 'enum': 'MigrationCapability',
- 'data': ['xbzrle', 'x-rdma-pin-all', 'auto-converge', 'zero-blocks'] }
+ 'data': ['xbzrle', 'x-rdma-pin-all', 'auto-converge', 'zero-blocks',
+ 'localhost'] }
##
# @MigrationCapabilityStatus
--
1.7.7.6
- Re: [Qemu-devel] [PATCH 08/18] migration-local: introduce qemu_fopen_local(), (continued)
[Qemu-devel] [PATCH 07/18] arch_init: export RAM_SAVE_xxx flags, Lei Li, 2013/08/21
[Qemu-devel] [PATCH 09/18] exec: export qemu_get_ram_block(), Lei Li, 2013/08/21
[Qemu-devel] [PATCH 10/18] migration-local: implementation of outgoing part, Lei Li, 2013/08/21
[Qemu-devel] [PATCH 11/18] migration: introduce capability localhost,
Lei Li <=
- Re: [Qemu-devel] [PATCH 11/18] migration: introduce capability localhost, Eric Blake, 2013/08/21
- Re: [Qemu-devel] [PATCH 11/18] migration: introduce capability localhost, Paolo Bonzini, 2013/08/21
- Re: [Qemu-devel] [PATCH 11/18] migration: introduce capability localhost, Michael R. Hines, 2013/08/22
- Re: [Qemu-devel] [PATCH 11/18] migration: introduce capability localhost, Paolo Bonzini, 2013/08/23
- Re: [Qemu-devel] [PATCH 11/18] migration: introduce capability localhost, Lei Li, 2013/08/23
- Re: [Qemu-devel] [PATCH 11/18] migration: introduce capability localhost, Paolo Bonzini, 2013/08/23
- Re: [Qemu-devel] [PATCH 11/18] migration: introduce capability localhost, Lei Li, 2013/08/23
[Qemu-devel] [PATCH 12/18] arch_init: factor out ram_save_blocks(), Lei Li, 2013/08/21
[Qemu-devel] [PATCH 14/18] arch_init: skip migration_bitmap_sync for local migration, Lei Li, 2013/08/21