From: Juan Quintela <quintela@redhat.com>
To: "Daniel P. Berrange" <berrange@redhat.com>
Cc: qemu-devel@nongnu.org,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
Amit Shah <amit.shah@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v6 for-2.7 09/28] migration: add helpers for creating QEMUFile from a QIOChannel
Date: Wed, 04 May 2016 13:02:52 +0200 [thread overview]
Message-ID: <87vb2uf5lv.fsf@emacs.mitica> (raw)
In-Reply-To: <1461751518-12128-10-git-send-email-berrange@redhat.com> (Daniel P. Berrange's message of "Wed, 27 Apr 2016 11:04:59 +0100")
"Daniel P. Berrange" <berrange@redhat.com> 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.
>
> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> ---
> 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 ac2c12c..e335380 100644
> --- a/include/migration/migration.h
> +++ b/include/migration/migration.h
> @@ -179,6 +179,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 4732915..794df84 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -428,6 +428,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);
> +}
> +
> +
> +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.
Looking at its use, I will propose change of names, but it is just a
suggestion. The functions don't just set the channel, they do the
migration.
migration_proccess_outgoing()
migration_proccess_incoming()?
No, the naming for incoming was right, the one for outgoing was not.
And yes, I understand that one is asynchrconous. This is why it is just
a suggestion. Sorry for not being able to came with better naming.
Later, Juan.
next prev parent reply other threads:[~2016-05-04 11:03 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-27 10:04 [Qemu-devel] [PATCH v6 for-2.7 00/28] Convert migration to QIOChannel & support Daniel P. Berrange
2016-04-27 10:04 ` [Qemu-devel] [PATCH v6 for-2.7 01/28] s390: use FILE instead of QEMUFile for creating text file Daniel P. Berrange
2016-05-04 10:43 ` Juan Quintela
2016-04-27 10:04 ` [Qemu-devel] [PATCH v6 for-2.7 02/28] io: avoid double-free when closing QIOChannelBuffer Daniel P. Berrange
2016-05-04 10:43 ` Juan Quintela
2016-04-27 10:04 ` [Qemu-devel] [PATCH v6 for-2.7 03/28] migration: remove use of qemu_bufopen from vmstate tests Daniel P. Berrange
2016-05-04 10:45 ` Juan Quintela
2016-04-27 10:04 ` [Qemu-devel] [PATCH v6 for-2.7 04/28] migration: ensure qemu_fflush() always writes full data amount Daniel P. Berrange
2016-05-04 10:46 ` Juan Quintela
2016-04-27 10:04 ` [Qemu-devel] [PATCH v6 for-2.7 05/28] migration: split migration hooks out of QEMUFileOps Daniel P. Berrange
2016-05-04 10:48 ` Juan Quintela
2016-04-27 10:04 ` [Qemu-devel] [PATCH v6 for-2.7 06/28] migration: introduce set_blocking function in QEMUFileOps Daniel P. Berrange
2016-05-04 10:49 ` Juan Quintela
2016-04-27 10:04 ` [Qemu-devel] [PATCH v6 for-2.7 07/28] migration: force QEMUFile to blocking mode for outgoing migration Daniel P. Berrange
2016-05-04 10:49 ` Juan Quintela
2016-04-27 10:04 ` [Qemu-devel] [PATCH v6 for-2.7 08/28] migration: introduce a new QEMUFile impl based on QIOChannel Daniel P. Berrange
2016-04-27 10:04 ` [Qemu-devel] [PATCH v6 for-2.7 09/28] migration: add helpers for creating QEMUFile from a QIOChannel Daniel P. Berrange
2016-05-04 10:56 ` Juan Quintela
2016-05-04 11:02 ` Juan Quintela [this message]
2016-05-24 6:01 ` Amit Shah
2016-04-27 10:05 ` [Qemu-devel] [PATCH v6 for-2.7 10/28] migration: add reporting of errors for outgoing migration Daniel P. Berrange
2016-05-04 10:53 ` Juan Quintela
2016-05-26 12:37 ` Eric Blake
2016-04-27 10:05 ` [Qemu-devel] [PATCH v6 for-2.7 11/28] migration: convert post-copy to use QIOChannelBuffer Daniel P. Berrange
2016-04-27 10:05 ` [Qemu-devel] [PATCH v6 for-2.7 12/28] migration: convert unix socket protocol to use QIOChannel Daniel P. Berrange
2016-04-27 10:05 ` [Qemu-devel] [PATCH v6 for-2.7 13/28] migration: rename unix.c to socket.c Daniel P. Berrange
2016-04-27 10:05 ` [Qemu-devel] [PATCH v6 for-2.7 14/28] migration: convert tcp socket protocol to use QIOChannel Daniel P. Berrange
2016-04-27 10:05 ` [Qemu-devel] [PATCH v6 for-2.7 15/28] migration: convert fd " Daniel P. Berrange
2016-04-27 10:05 ` [Qemu-devel] [PATCH v6 for-2.7 16/28] migration: convert exec " Daniel P. Berrange
2016-04-27 10:05 ` [Qemu-devel] [PATCH v6 for-2.7 17/28] migration: convert RDMA to use QIOChannel interface Daniel P. Berrange
2016-04-27 10:05 ` [Qemu-devel] [PATCH v6 for-2.7 18/28] migration: convert savevm to use QIOChannel for writing to files Daniel P. Berrange
2016-04-27 10:05 ` [Qemu-devel] [PATCH v6 for-2.7 19/28] migration: delete QEMUFile buffer implementation Daniel P. Berrange
2016-04-27 10:05 ` [Qemu-devel] [PATCH v6 for-2.7 20/28] migration: delete QEMUSizedBuffer struct Daniel P. Berrange
2016-04-27 10:05 ` [Qemu-devel] [PATCH v6 for-2.7 21/28] migration: delete QEMUFile sockets implementation Daniel P. Berrange
2016-04-27 10:05 ` [Qemu-devel] [PATCH v6 for-2.7 22/28] migration: delete QEMUFile stdio implementation Daniel P. Berrange
2016-04-27 10:05 ` [Qemu-devel] [PATCH v6 for-2.7 23/28] migration: move definition of struct QEMUFile back into qemu-file.c Daniel P. Berrange
2016-04-27 10:05 ` [Qemu-devel] [PATCH v6 for-2.7 24/28] migration: don't use an array for storing migrate parameters Daniel P. Berrange
2016-05-25 11:10 ` Amit Shah
2016-04-27 10:05 ` [Qemu-devel] [PATCH v6 for-2.7 25/28] migration: define 'tls-creds' and 'tls-hostname' migration parameters Daniel P. Berrange
2016-05-25 11:53 ` Amit Shah
2016-04-27 10:05 ` [Qemu-devel] [PATCH v6 for-2.7 26/28] migration: add support for encrypting data with TLS Daniel P. Berrange
2016-04-27 10:05 ` [Qemu-devel] [PATCH v6 for-2.7 27/28] migration: remove support for non-iovec based write handlers Daniel P. Berrange
2016-04-27 10:05 ` [Qemu-devel] [PATCH v6 for-2.7 28/28] migration: remove qemu_get_fd method from QEMUFile Daniel P. Berrange
2016-05-26 6:17 ` [Qemu-devel] [PATCH v6 for-2.7 00/28] Convert migration to QIOChannel & support Amit Shah
2016-05-31 9:21 ` Daniel P. Berrange
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87vb2uf5lv.fsf@emacs.mitica \
--to=quintela@redhat.com \
--cc=amit.shah@redhat.com \
--cc=berrange@redhat.com \
--cc=dgilbert@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.