"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "migration/channel.c" between
qemu-6.0.0-rc1.tar.xz and qemu-6.0.0-rc2.tar.xz

About: QEMU is a generic machine/processor emulator and virtualizer. Release candidate.

channel.c  (qemu-6.0.0-rc1.tar.xz):channel.c  (qemu-6.0.0-rc2.tar.xz)
skipping to change at line 23 skipping to change at line 23
#include "qemu/osdep.h" #include "qemu/osdep.h"
#include "channel.h" #include "channel.h"
#include "tls.h" #include "tls.h"
#include "migration.h" #include "migration.h"
#include "qemu-file-channel.h" #include "qemu-file-channel.h"
#include "trace.h" #include "trace.h"
#include "qapi/error.h" #include "qapi/error.h"
#include "io/channel-tls.h" #include "io/channel-tls.h"
#include "io/channel-socket.h" #include "io/channel-socket.h"
#include "qemu/yank.h" #include "qemu/yank.h"
#include "yank_functions.h"
/** /**
* @migration_channel_process_incoming - Create new incoming migration channel * @migration_channel_process_incoming - Create new incoming migration channel
* *
* Notice that TLS is special. For it we listen in a listener socket, * Notice that TLS is special. For it we listen in a listener socket,
* and then create a new client socket from the TLS library. * and then create a new client socket from the TLS library.
* *
* @ioc: Channel to which we are connecting * @ioc: Channel to which we are connecting
*/ */
void migration_channel_process_incoming(QIOChannel *ioc) void migration_channel_process_incoming(QIOChannel *ioc)
{ {
MigrationState *s = migrate_get_current(); MigrationState *s = migrate_get_current();
Error *local_err = NULL; Error *local_err = NULL;
trace_migration_set_incoming_channel( trace_migration_set_incoming_channel(
ioc, object_get_typename(OBJECT(ioc))); ioc, object_get_typename(OBJECT(ioc)));
if (object_dynamic_cast(OBJECT(ioc), TYPE_QIO_CHANNEL_SOCKET)) { if (object_dynamic_cast(OBJECT(ioc), TYPE_QIO_CHANNEL_SOCKET)) {
yank_register_function(MIGRATION_YANK_INSTANCE, yank_generic_iochannel, yank_register_function(MIGRATION_YANK_INSTANCE,
migration_yank_iochannel,
QIO_CHANNEL(ioc)); QIO_CHANNEL(ioc));
} }
if (s->parameters.tls_creds && if (s->parameters.tls_creds &&
*s->parameters.tls_creds && *s->parameters.tls_creds &&
!object_dynamic_cast(OBJECT(ioc), !object_dynamic_cast(OBJECT(ioc),
TYPE_QIO_CHANNEL_TLS)) { TYPE_QIO_CHANNEL_TLS)) {
migration_tls_channel_process_incoming(s, ioc, &local_err); migration_tls_channel_process_incoming(s, ioc, &local_err);
} else { } else {
migration_ioc_process_incoming(ioc, &local_err); migration_ioc_process_incoming(ioc, &local_err);
skipping to change at line 78 skipping to change at line 80
QIOChannel *ioc, QIOChannel *ioc,
const char *hostname, const char *hostname,
Error *error) Error *error)
{ {
trace_migration_set_outgoing_channel( trace_migration_set_outgoing_channel(
ioc, object_get_typename(OBJECT(ioc)), hostname, error); ioc, object_get_typename(OBJECT(ioc)), hostname, error);
if (!error) { if (!error) {
if (object_dynamic_cast(OBJECT(ioc), TYPE_QIO_CHANNEL_SOCKET)) { if (object_dynamic_cast(OBJECT(ioc), TYPE_QIO_CHANNEL_SOCKET)) {
yank_register_function(MIGRATION_YANK_INSTANCE, yank_register_function(MIGRATION_YANK_INSTANCE,
yank_generic_iochannel, migration_yank_iochannel,
QIO_CHANNEL(ioc)); QIO_CHANNEL(ioc));
} }
if (s->parameters.tls_creds && if (s->parameters.tls_creds &&
*s->parameters.tls_creds && *s->parameters.tls_creds &&
!object_dynamic_cast(OBJECT(ioc), !object_dynamic_cast(OBJECT(ioc),
TYPE_QIO_CHANNEL_TLS)) { TYPE_QIO_CHANNEL_TLS)) {
migration_tls_channel_connect(s, ioc, hostname, &error); migration_tls_channel_connect(s, ioc, hostname, &error);
if (!error) { if (!error) {
 End of changes. 3 change blocks. 
2 lines changed or deleted 4 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)