[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 08/27] migration: add helpers for creating QE
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [Qemu-devel] [PATCH v3 08/27] migration: add helpers for creating QEMUFile from a QIOChannel |
Date: |
Thu, 10 Mar 2016 14:52:30 +0000 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
* Daniel P. Berrange (address@hidden) wrote:
> Currently creating a QEMUFile instance from a QIOChannel is
> quite simple only requiring a single call to
> qemu_fopen_channel_input or qemu_fopen_channel_output
> depending on the end of migration connection.
>
> When QEMU gains TLS support, however, there will need to be
> a TLS negotiation done inbetween creation of the QIOChannel
> and creation of the final QEMUFile. Introduce some helper
> methods that will encapsulate this logic, isolating the
> migration protocol drivers from knowledge about TLS.
>
> Signed-off-by: Daniel P. Berrange <address@hidden>
> ---
> include/migration/migration.h | 6 ++++++
> migration/migration.c | 21 +++++++++++++++++++++
> 2 files changed, 27 insertions(+)
>
> diff --git a/include/migration/migration.h b/include/migration/migration.h
> index 85b6026..35db68a 100644
> --- a/include/migration/migration.h
> +++ b/include/migration/migration.h
> @@ -177,6 +177,12 @@ void process_incoming_migration(QEMUFile *f);
>
> void qemu_start_incoming_migration(const char *uri, Error **errp);
>
> +void migration_set_incoming_channel(MigrationState *s,
> + QIOChannel *ioc);
> +
> +void migration_set_outgoing_channel(MigrationState *s,
> + QIOChannel *ioc);
> +
> uint64_t migrate_max_downtime(void);
>
> void exec_start_incoming_migration(const char *host_port, Error **errp);
> diff --git a/migration/migration.c b/migration/migration.c
> index c173b75..76a4aac 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -419,6 +419,27 @@ void process_incoming_migration(QEMUFile *f)
> qemu_coroutine_enter(co, f);
> }
>
> +
> +void migration_set_incoming_channel(MigrationState *s,
> + QIOChannel *ioc)
> +{
> + QEMUFile *f = qemu_fopen_channel_input(ioc);
> +
> + process_incoming_migration(f);
> +}
It's a bit weird to be passing a MigrationState to an 'incoming'
but I can see in your use of it later this is just to get to
the parameters which makes sens.
Reviewed-by: Dr. David Alan Gilbert <address@hidden>
> +
> +void migration_set_outgoing_channel(MigrationState *s,
> + QIOChannel *ioc)
> +{
> + QEMUFile *f = qemu_fopen_channel_output(ioc);
> +
> + s->to_dst_file = f;
> +
> + migrate_fd_connect(s);
> +}
> +
> +
> /*
> * Send a message on the return channel back to the source
> * of the migration.
> --
> 2.5.0
>
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Qemu-devel] [PATCH v3 08/27] migration: add helpers for creating QEMUFile from a QIOChannel,
Dr. David Alan Gilbert <=