mirror of https://github.com/xemu-project/xemu.git
migration: Fix cleanup of iochannel in file migration
The QIOChannelFile object already has its reference decremented by g_autoptr. Trying to unref an extra time causes: ERROR:../qom/object.c:1241:object_unref: assertion failed: (obj->ref > 0) Fixes:a701c03dec
("migration: Drop reference to QIOChannel if file seeking fails") Fixes:6d3279655a
("migration: Fix file migration with fdset") Reported-by: Jim Fehlig <jfehlig@suse.com> Reviewed-by: Peter Xu <peterx@redhat.com> Signed-off-by: Fabiano Rosas <farosas@suse.de>
This commit is contained in:
parent
c80e22517f
commit
84ac6fa12d
|
@ -112,7 +112,6 @@ void file_start_outgoing_migration(MigrationState *s,
|
||||||
error_setg_errno(errp, errno,
|
error_setg_errno(errp, errno,
|
||||||
"failed to truncate migration file to offset %" PRIx64,
|
"failed to truncate migration file to offset %" PRIx64,
|
||||||
offset);
|
offset);
|
||||||
object_unref(OBJECT(fioc));
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -120,7 +119,6 @@ void file_start_outgoing_migration(MigrationState *s,
|
||||||
|
|
||||||
ioc = QIO_CHANNEL(fioc);
|
ioc = QIO_CHANNEL(fioc);
|
||||||
if (offset && qio_channel_io_seek(ioc, offset, SEEK_SET, errp) < 0) {
|
if (offset && qio_channel_io_seek(ioc, offset, SEEK_SET, errp) < 0) {
|
||||||
object_unref(OBJECT(fioc));
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
qio_channel_set_name(ioc, "migration-file-outgoing");
|
qio_channel_set_name(ioc, "migration-file-outgoing");
|
||||||
|
|
Loading…
Reference in New Issue