diff mbox

[v1,06/22] migration: force QEMUFile to blocking mode for outgoing migration

Message ID 1452599056-27357-7-git-send-email-berrange@redhat.com
State New
Headers show

Commit Message

Daniel P. Berrangé Jan. 12, 2016, 11:44 a.m. UTC
Instead of relying on the default QEMUFile I/O blocking flag
state, explicitly turn on blocking I/O for outgoing migration
since it takes place in a background thread.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 migration/migration.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Dr. David Alan Gilbert Jan. 28, 2016, 6:17 p.m. UTC | #1
* Daniel P. Berrange (berrange@redhat.com) wrote:
> Instead of relying on the default QEMUFile I/O blocking flag
> state, explicitly turn on blocking I/O for outgoing migration
> since it takes place in a background thread.
> 
> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> ---
>  migration/migration.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/migration/migration.c b/migration/migration.c
> index c964a8d..715f069 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -1732,6 +1732,7 @@ void migrate_fd_connect(MigrationState *s)
>      s->expected_downtime = max_downtime/1000000;
>      s->cleanup_bh = qemu_bh_new(migrate_fd_cleanup, s);
>  
> +    qemu_file_set_blocking(s->file, true);

Yes OK; fd_connect is the outgoing side and qemu_fopen_socket
already sets blocking on "w".

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

>      qemu_file_set_rate_limit(s->file,
>                               s->bandwidth_limit / XFER_LIMIT_RATIO);
>  
> -- 
> 2.5.0
> 
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
diff mbox

Patch

diff --git a/migration/migration.c b/migration/migration.c
index c964a8d..715f069 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -1732,6 +1732,7 @@  void migrate_fd_connect(MigrationState *s)
     s->expected_downtime = max_downtime/1000000;
     s->cleanup_bh = qemu_bh_new(migrate_fd_cleanup, s);
 
+    qemu_file_set_blocking(s->file, true);
     qemu_file_set_rate_limit(s->file,
                              s->bandwidth_limit / XFER_LIMIT_RATIO);