On Tue, Aug 08, 2017 at 06:26:11PM +0200, Juan Quintela wrote:

[...]

>  void migration_fd_process_incoming(QEMUFile *f)
>  {
> -    Coroutine *co = qemu_coroutine_create(process_incoming_migration_co, f);
> -
> +    Coroutine *co = qemu_coroutine_create(process_incoming_migration_co, 
> NULL);
> +    MigrationIncomingState *mis = migration_incoming_get_current();
> +    
> +    if (!mis->from_src_file) {
> +        mis->from_src_file = f;

[1]

> +    }
>      qemu_file_set_blocking(f, false);
>      qemu_coroutine_enter(co);
>  }
>  
> +void migration_ioc_process_incoming(QIOChannel *ioc)
> +{
> +    MigrationIncomingState *mis = migration_incoming_get_current();
> +
> +    if (!mis->from_src_file) {
> +        QEMUFile *f = qemu_fopen_channel_input(ioc);
> +        mis->from_src_file = f;

Remove this line? Since migration_fd_process_incoming() will set it up
as well below at [1].

Then we can make sure there will be only one place to setup
from_src_file.

> +        migration_fd_process_incoming(f);
> +    }
> +    /* We still only have a single channel.  Nothing to do here yet */
> +}

Thanks,

-- 
Peter Xu

Reply via email to