Message ID | 20200217150246.29180-5-vsementsov@virtuozzo.com |
---|---|
State | New |
Headers | show |
Series | Fix error handling during bitmap postcopy | expand |
On 17/02/2020 18:02, Vladimir Sementsov-Ogievskiy wrote: > No reasons to keep two public init functions. > > Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> > --- > migration/migration.h | 1 - > migration/block-dirty-bitmap.c | 6 +----- > migration/migration.c | 2 -- > 3 files changed, 1 insertion(+), 8 deletions(-) > > diff --git a/migration/migration.h b/migration/migration.h > index 8473ddfc88..2948f2387b 100644 > --- a/migration/migration.h > +++ b/migration/migration.h > @@ -332,7 +332,6 @@ void migrate_send_rp_recv_bitmap(MigrationIncomingState *mis, > void migrate_send_rp_resume_ack(MigrationIncomingState *mis, uint32_t value); > > void dirty_bitmap_mig_before_vm_start(void); > -void init_dirty_bitmap_incoming_migration(void); > void migrate_add_address(SocketAddress *address); > > int foreach_not_ignored_block(RAMBlockIterFunc func, void *opaque); > diff --git a/migration/block-dirty-bitmap.c b/migration/block-dirty-bitmap.c > index 4e8959ae52..49d4cf8810 100644 > --- a/migration/block-dirty-bitmap.c > +++ b/migration/block-dirty-bitmap.c > @@ -148,11 +148,6 @@ typedef struct LoadBitmapState { > static GSList *enabled_bitmaps; > QemuMutex finish_lock; > > -void init_dirty_bitmap_incoming_migration(void) > -{ > - qemu_mutex_init(&finish_lock); > -} > - > static uint32_t qemu_get_bitmap_flags(QEMUFile *f) > { > uint8_t flags = qemu_get_byte(f); > @@ -733,6 +728,7 @@ static SaveVMHandlers savevm_dirty_bitmap_handlers = { > void dirty_bitmap_mig_init(void) > { > QSIMPLEQ_INIT(&dirty_bitmap_mig_state.dbms_list); > + qemu_mutex_init(&finish_lock); > > register_savevm_live("dirty-bitmap", 0, 1, > &savevm_dirty_bitmap_handlers, > diff --git a/migration/migration.c b/migration/migration.c > index 8fb68795dc..515047932c 100644 > --- a/migration/migration.c > +++ b/migration/migration.c > @@ -158,8 +158,6 @@ void migration_object_init(void) > qemu_sem_init(¤t_incoming->postcopy_pause_sem_dst, 0); > qemu_sem_init(¤t_incoming->postcopy_pause_sem_fault, 0); > > - init_dirty_bitmap_incoming_migration(); > - > if (!migration_object_check(current_migration, &err)) { > error_report_err(err); > exit(1); > I rely on that the mutex initialization is being made in proper time. Reviewed-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com>
diff --git a/migration/migration.h b/migration/migration.h index 8473ddfc88..2948f2387b 100644 --- a/migration/migration.h +++ b/migration/migration.h @@ -332,7 +332,6 @@ void migrate_send_rp_recv_bitmap(MigrationIncomingState *mis, void migrate_send_rp_resume_ack(MigrationIncomingState *mis, uint32_t value); void dirty_bitmap_mig_before_vm_start(void); -void init_dirty_bitmap_incoming_migration(void); void migrate_add_address(SocketAddress *address); int foreach_not_ignored_block(RAMBlockIterFunc func, void *opaque); diff --git a/migration/block-dirty-bitmap.c b/migration/block-dirty-bitmap.c index 4e8959ae52..49d4cf8810 100644 --- a/migration/block-dirty-bitmap.c +++ b/migration/block-dirty-bitmap.c @@ -148,11 +148,6 @@ typedef struct LoadBitmapState { static GSList *enabled_bitmaps; QemuMutex finish_lock; -void init_dirty_bitmap_incoming_migration(void) -{ - qemu_mutex_init(&finish_lock); -} - static uint32_t qemu_get_bitmap_flags(QEMUFile *f) { uint8_t flags = qemu_get_byte(f); @@ -733,6 +728,7 @@ static SaveVMHandlers savevm_dirty_bitmap_handlers = { void dirty_bitmap_mig_init(void) { QSIMPLEQ_INIT(&dirty_bitmap_mig_state.dbms_list); + qemu_mutex_init(&finish_lock); register_savevm_live("dirty-bitmap", 0, 1, &savevm_dirty_bitmap_handlers, diff --git a/migration/migration.c b/migration/migration.c index 8fb68795dc..515047932c 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -158,8 +158,6 @@ void migration_object_init(void) qemu_sem_init(¤t_incoming->postcopy_pause_sem_dst, 0); qemu_sem_init(¤t_incoming->postcopy_pause_sem_fault, 0); - init_dirty_bitmap_incoming_migration(); - if (!migration_object_check(current_migration, &err)) { error_report_err(err); exit(1);
No reasons to keep two public init functions. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> --- migration/migration.h | 1 - migration/block-dirty-bitmap.c | 6 +----- migration/migration.c | 2 -- 3 files changed, 1 insertion(+), 8 deletions(-)