qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v6 for-2.7 09/28] migration: add helpers for cre


From: Amit Shah
Subject: Re: [Qemu-devel] [PATCH v6 for-2.7 09/28] migration: add helpers for creating QEMUFile from a QIOChannel
Date: Tue, 24 May 2016 11:31:43 +0530

On (Wed) 04 May 2016 [13:02:52], Juan Quintela wrote:
> "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.
> >
> > Reviewed-by: Dr. David Alan Gilbert <address@hidden>
> > 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 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.

Agreed, could do with better names.  Dan?

> 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.



                Amit



reply via email to

[Prev in Thread] Current Thread [Next in Thread]