migration: setup bi-directional I/O channel for exec: protocol
Historically the migration data channel has only needed to be unidirectional. Thus the 'exec:' protocol was requesting an I/O channel with O_RDONLY on incoming side, and O_WRONLY on the outgoing side. This is fine for classic migration, but if you then try to run TLS over it, this fails because the TLS handshake requires a bi-directional channel. Signed-off-by: Daniel P. Berrange <berrange@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
parent
6b6712efcc
commit
062d81f0e9
@ -32,7 +32,7 @@ void exec_start_outgoing_migration(MigrationState *s, const char *command, Error
|
|||||||
|
|
||||||
trace_migration_exec_outgoing(command);
|
trace_migration_exec_outgoing(command);
|
||||||
ioc = QIO_CHANNEL(qio_channel_command_new_spawn(argv,
|
ioc = QIO_CHANNEL(qio_channel_command_new_spawn(argv,
|
||||||
O_WRONLY,
|
O_RDWR,
|
||||||
errp));
|
errp));
|
||||||
if (!ioc) {
|
if (!ioc) {
|
||||||
return;
|
return;
|
||||||
@ -59,7 +59,7 @@ void exec_start_incoming_migration(const char *command, Error **errp)
|
|||||||
|
|
||||||
trace_migration_exec_incoming(command);
|
trace_migration_exec_incoming(command);
|
||||||
ioc = QIO_CHANNEL(qio_channel_command_new_spawn(argv,
|
ioc = QIO_CHANNEL(qio_channel_command_new_spawn(argv,
|
||||||
O_RDONLY,
|
O_RDWR,
|
||||||
errp));
|
errp));
|
||||||
if (!ioc) {
|
if (!ioc) {
|
||||||
return;
|
return;
|
||||||
|
Loading…
Reference in New Issue
Block a user