Message ID | 1366080286-9288-5-git-send-email-mrhines@linux.vnet.ibm.com |
---|---|
State | New |
Headers | show |
Il 16/04/2013 04:44, mrhines@linux.vnet.ibm.com ha scritto: > { 'enum': 'MigrationCapability', > - 'data': ['xbzrle'] } > + 'data': ['xbzrle', 'chunk_register_destination'] } x-chunk_register_destination. Or better, "x-rdma_chunk_registration". Paolo
On 04/15/2013 10:50 PM, Paolo Bonzini wrote: > Il 16/04/2013 04:44, mrhines@linux.vnet.ibm.com ha scritto: >> { 'enum': 'MigrationCapability', >> - 'data': ['xbzrle'] } >> + 'data': ['xbzrle', 'chunk_register_destination'] } > > x-chunk_register_destination. > > Or better, "x-rdma_chunk_registration". Or better, "x-rdma-chunk-registration", since QMP should prefer the use of '-' over '_'.
On 04/16/2013 08:58 AM, Eric Blake wrote: > On 04/15/2013 10:50 PM, Paolo Bonzini wrote: >> Il 16/04/2013 04:44, mrhines@linux.vnet.ibm.com ha scritto: >>> { 'enum': 'MigrationCapability', >>> - 'data': ['xbzrle'] } >>> + 'data': ['xbzrle', 'chunk_register_destination'] } >> x-chunk_register_destination. >> >> Or better, "x-rdma_chunk_registration". > Or better, "x-rdma-chunk-registration", since QMP should prefer the use > of '-' over '_'. > Acknowledged.
diff --git a/include/migration/migration.h b/include/migration/migration.h index 0f4510f..e71ac12 100644 --- a/include/migration/migration.h +++ b/include/migration/migration.h @@ -144,4 +144,6 @@ size_t ram_control_save_page(QEMUFile *f, ram_addr_t block_offset, ram_addr_t offset, size_t size); void ram_handle_compressed(void *host, uint8_t ch, uint64_t size); + +bool migrate_chunk_register_destination(void); #endif diff --git a/migration.c b/migration.c index 3b4b467..b46e103 100644 --- a/migration.c +++ b/migration.c @@ -66,6 +66,7 @@ MigrationState *migrate_get_current(void) .state = MIG_STATE_SETUP, .bandwidth_limit = MAX_THROTTLE, .xbzrle_cache_size = DEFAULT_MIGRATE_CACHE_SIZE, + .enabled_capabilities[MIGRATION_CAPABILITY_CHUNK_REGISTER_DESTINATION] = true, }; return ¤t_migration; @@ -120,7 +121,6 @@ void process_incoming_migration(QEMUFile *f) Coroutine *co = qemu_coroutine_create(process_incoming_migration_co); int fd = qemu_get_fd(f); - assert(fd != -1); qemu_set_nonblock(fd); qemu_coroutine_enter(co, f); } @@ -474,6 +474,15 @@ void qmp_migrate_set_downtime(double value, Error **errp) max_downtime = (uint64_t)value; } +bool migrate_chunk_register_destination(void) +{ + MigrationState *s; + + s = migrate_get_current(); + + return s->enabled_capabilities[MIGRATION_CAPABILITY_CHUNK_REGISTER_DESTINATION]; +} + int migrate_use_xbzrle(void) { MigrationState *s; diff --git a/qapi-schema.json b/qapi-schema.json index 751d3c2..691bae6 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -602,7 +602,7 @@ # Since: 1.2 ## { 'enum': 'MigrationCapability', - 'data': ['xbzrle'] } + 'data': ['xbzrle', 'chunk_register_destination'] } ## # @MigrationCapabilityStatus