Re: [Qemu-devel] [PATCH 35/41] migration: use QEMUFile for writing outgoing migration data

2013-02-22 Thread Juan Quintela
Paolo Bonzini pbonz...@redhat.com wrote:
 Second, drop the file descriptor indirection, and write directly to the
 QEMUFile.

 Signed-off-by: Paolo Bonzini pbonz...@redhat.com

 +qemu_put_buffer(s-migration_file, buf, size);
 +if (qemu_file_get_error(s-migration_file)) {
 +return qemu_file_get_error(s-migration_file);

Rest of patch is really, really nice.

But here, please, use a local variable.

qemu_put_buffer(s-migration_file, buf, size);
ret = qemu_file_get_error(s-migration_file);
if (ret) {
   return ret;
}



Re: [Qemu-devel] [PATCH 35/41] migration: use QEMUFile for writing outgoing migration data

2013-02-22 Thread Juan Quintela
Juan Quintela quint...@redhat.com wrote:
 Paolo Bonzini pbonz...@redhat.com wrote:
 Second, drop the file descriptor indirection, and write directly to the
 QEMUFile.

 Signed-off-by: Paolo Bonzini pbonz...@redhat.com

 +qemu_put_buffer(s-migration_file, buf, size);
 +if (qemu_file_get_error(s-migration_file)) {
 +return qemu_file_get_error(s-migration_file);

 Rest of patch is really, really nice.

 But here, please, use a local variable.

 qemu_put_buffer(s-migration_file, buf, size);
 ret = qemu_file_get_error(s-migration_file);
 if (ret) {
return ret;
 }

This chunk is removed in a later patch, so don't care about changing it.

Reviewed-by: Juan Quintela quint...@redhat.com



Re: [Qemu-devel] [PATCH 35/41] migration: use QEMUFile for writing outgoing migration data

2013-02-21 Thread Orit Wasserman
On 02/15/2013 07:47 PM, Paolo Bonzini wrote:
 Second, drop the file descriptor indirection, and write directly to the
 QEMUFile.
 
 Signed-off-by: Paolo Bonzini pbonz...@redhat.com
 ---
  include/migration/migration.h |4 ---
  migration-exec.c  |   12 ---
  migration-fd.c|   12 ---
  migration-tcp.c   |   12 ---
  migration-unix.c  |   12 ---
  migration.c   |   44 +---
  6 files changed, 6 insertions(+), 90 deletions(-)
 
 diff --git a/include/migration/migration.h b/include/migration/migration.h
 index cf3e81c..bde13c2 100644
 --- a/include/migration/migration.h
 +++ b/include/migration/migration.h
 @@ -40,10 +40,6 @@ struct MigrationState
  QEMUFile *file;
  QEMUFile *migration_file;
  
 -int fd;
 -int (*get_error)(MigrationState *s);
 -int (*write)(MigrationState *s, const void *buff, size_t size);
 -
  int state;
  MigrationParams params;
  int64_t total_time;
 diff --git a/migration-exec.c b/migration-exec.c
 index 8c3f720..1c539de 100644
 --- a/migration-exec.c
 +++ b/migration-exec.c
 @@ -33,16 +33,6 @@
  do { } while (0)
  #endif
  
 -static int file_errno(MigrationState *s)
 -{
 -return errno;
 -}
 -
 -static int file_write(MigrationState *s, const void * buf, size_t size)
 -{
 -return write(s-fd, buf, size);
 -}
 -
  void exec_start_outgoing_migration(MigrationState *s, const char *command, 
 Error **errp)
  {
  s-migration_file = qemu_popen_cmd(command, w);
 @@ -51,8 +41,6 @@ void exec_start_outgoing_migration(MigrationState *s, const 
 char *command, Error
  return;
  }
  
 -s-get_error = file_errno;
 -s-write = file_write;
  migrate_fd_connect(s);
  }
  
 diff --git a/migration-fd.c b/migration-fd.c
 index 4636457..07c758a 100644
 --- a/migration-fd.c
 +++ b/migration-fd.c
 @@ -30,16 +30,6 @@
  do { } while (0)
  #endif
  
 -static int fd_errno(MigrationState *s)
 -{
 -return errno;
 -}
 -
 -static int fd_write(MigrationState *s, const void * buf, size_t size)
 -{
 -return write(s-fd, buf, size);
 -}
 -
  void fd_start_outgoing_migration(MigrationState *s, const char *fdname, 
 Error **errp)
  {
  int fd = monitor_get_fd(cur_mon, fdname, errp);
 @@ -48,8 +38,6 @@ void fd_start_outgoing_migration(MigrationState *s, const 
 char *fdname, Error **
  }
  s-migration_file = qemu_fdopen(fd, wb);
  
 -s-get_error = fd_errno;
 -s-write = fd_write;
  migrate_fd_connect(s);
  }
  
 diff --git a/migration-tcp.c b/migration-tcp.c
 index 1e8e004..5ea4f3d 100644
 --- a/migration-tcp.c
 +++ b/migration-tcp.c
 @@ -29,16 +29,6 @@
  do { } while (0)
  #endif
  
 -static int socket_errno(MigrationState *s)
 -{
 -return socket_error();
 -}
 -
 -static int socket_write(MigrationState *s, const void * buf, size_t size)
 -{
 -return send(s-fd, buf, size, 0);
 -}
 -
  static void tcp_wait_for_connect(int fd, void *opaque)
  {
  MigrationState *s = opaque;
 @@ -56,8 +46,6 @@ static void tcp_wait_for_connect(int fd, void *opaque)
  
  void tcp_start_outgoing_migration(MigrationState *s, const char *host_port, 
 Error **errp)
  {
 -s-get_error = socket_errno;
 -s-write = socket_write;
  inet_nonblocking_connect(host_port, tcp_wait_for_connect, s, errp);
  }
  
 diff --git a/migration-unix.c b/migration-unix.c
 index 11917f4..64bfa31 100644
 --- a/migration-unix.c
 +++ b/migration-unix.c
 @@ -29,16 +29,6 @@
  do { } while (0)
  #endif
  
 -static int unix_errno(MigrationState *s)
 -{
 -return errno;
 -}
 -
 -static int unix_write(MigrationState *s, const void * buf, size_t size)
 -{
 -return write(s-fd, buf, size);
 -}
 -
  static void unix_wait_for_connect(int fd, void *opaque)
  {
  MigrationState *s = opaque;
 @@ -56,8 +46,6 @@ static void unix_wait_for_connect(int fd, void *opaque)
  
  void unix_start_outgoing_migration(MigrationState *s, const char *path, 
 Error **errp)
  {
 -s-get_error = unix_errno;
 -s-write = unix_write;
  unix_nonblocking_connect(path, unix_wait_for_connect, s, errp);
  }
  
 diff --git a/migration.c b/migration.c
 index 9cffdd4..68d47cd 100644
 --- a/migration.c
 +++ b/migration.c
 @@ -291,25 +291,6 @@ void migrate_fd_error(MigrationState *s)
  notifier_list_notify(migration_state_notifiers, s);
  }
  
 -static ssize_t migrate_fd_put_buffer(MigrationState *s, const void *data,
 - size_t size)
 -{
 -ssize_t ret;
 -
 -if (s-state != MIG_STATE_ACTIVE) {
 -return -EIO;
 -}
 -
 -do {
 -ret = s-write(s, data, size);
 -} while (ret == -1  ((s-get_error(s)) == EINTR));
 -
 -if (ret == -1)
 -ret = -(s-get_error(s));
 -
 -return ret;
 -}
 -
  static void migrate_fd_cancel(MigrationState *s)
  {
  DPRINTF(cancelling migration\n);
 @@ -323,7 +304,6 @@ int migrate_fd_close(MigrationState *s)
  if 

[Qemu-devel] [PATCH 35/41] migration: use QEMUFile for writing outgoing migration data

2013-02-15 Thread Paolo Bonzini
Second, drop the file descriptor indirection, and write directly to the
QEMUFile.

Signed-off-by: Paolo Bonzini pbonz...@redhat.com
---
 include/migration/migration.h |4 ---
 migration-exec.c  |   12 ---
 migration-fd.c|   12 ---
 migration-tcp.c   |   12 ---
 migration-unix.c  |   12 ---
 migration.c   |   44 +---
 6 files changed, 6 insertions(+), 90 deletions(-)

diff --git a/include/migration/migration.h b/include/migration/migration.h
index cf3e81c..bde13c2 100644
--- a/include/migration/migration.h
+++ b/include/migration/migration.h
@@ -40,10 +40,6 @@ struct MigrationState
 QEMUFile *file;
 QEMUFile *migration_file;
 
-int fd;
-int (*get_error)(MigrationState *s);
-int (*write)(MigrationState *s, const void *buff, size_t size);
-
 int state;
 MigrationParams params;
 int64_t total_time;
diff --git a/migration-exec.c b/migration-exec.c
index 8c3f720..1c539de 100644
--- a/migration-exec.c
+++ b/migration-exec.c
@@ -33,16 +33,6 @@
 do { } while (0)
 #endif
 
-static int file_errno(MigrationState *s)
-{
-return errno;
-}
-
-static int file_write(MigrationState *s, const void * buf, size_t size)
-{
-return write(s-fd, buf, size);
-}
-
 void exec_start_outgoing_migration(MigrationState *s, const char *command, 
Error **errp)
 {
 s-migration_file = qemu_popen_cmd(command, w);
@@ -51,8 +41,6 @@ void exec_start_outgoing_migration(MigrationState *s, const 
char *command, Error
 return;
 }
 
-s-get_error = file_errno;
-s-write = file_write;
 migrate_fd_connect(s);
 }
 
diff --git a/migration-fd.c b/migration-fd.c
index 4636457..07c758a 100644
--- a/migration-fd.c
+++ b/migration-fd.c
@@ -30,16 +30,6 @@
 do { } while (0)
 #endif
 
-static int fd_errno(MigrationState *s)
-{
-return errno;
-}
-
-static int fd_write(MigrationState *s, const void * buf, size_t size)
-{
-return write(s-fd, buf, size);
-}
-
 void fd_start_outgoing_migration(MigrationState *s, const char *fdname, Error 
**errp)
 {
 int fd = monitor_get_fd(cur_mon, fdname, errp);
@@ -48,8 +38,6 @@ void fd_start_outgoing_migration(MigrationState *s, const 
char *fdname, Error **
 }
 s-migration_file = qemu_fdopen(fd, wb);
 
-s-get_error = fd_errno;
-s-write = fd_write;
 migrate_fd_connect(s);
 }
 
diff --git a/migration-tcp.c b/migration-tcp.c
index 1e8e004..5ea4f3d 100644
--- a/migration-tcp.c
+++ b/migration-tcp.c
@@ -29,16 +29,6 @@
 do { } while (0)
 #endif
 
-static int socket_errno(MigrationState *s)
-{
-return socket_error();
-}
-
-static int socket_write(MigrationState *s, const void * buf, size_t size)
-{
-return send(s-fd, buf, size, 0);
-}
-
 static void tcp_wait_for_connect(int fd, void *opaque)
 {
 MigrationState *s = opaque;
@@ -56,8 +46,6 @@ static void tcp_wait_for_connect(int fd, void *opaque)
 
 void tcp_start_outgoing_migration(MigrationState *s, const char *host_port, 
Error **errp)
 {
-s-get_error = socket_errno;
-s-write = socket_write;
 inet_nonblocking_connect(host_port, tcp_wait_for_connect, s, errp);
 }
 
diff --git a/migration-unix.c b/migration-unix.c
index 11917f4..64bfa31 100644
--- a/migration-unix.c
+++ b/migration-unix.c
@@ -29,16 +29,6 @@
 do { } while (0)
 #endif
 
-static int unix_errno(MigrationState *s)
-{
-return errno;
-}
-
-static int unix_write(MigrationState *s, const void * buf, size_t size)
-{
-return write(s-fd, buf, size);
-}
-
 static void unix_wait_for_connect(int fd, void *opaque)
 {
 MigrationState *s = opaque;
@@ -56,8 +46,6 @@ static void unix_wait_for_connect(int fd, void *opaque)
 
 void unix_start_outgoing_migration(MigrationState *s, const char *path, Error 
**errp)
 {
-s-get_error = unix_errno;
-s-write = unix_write;
 unix_nonblocking_connect(path, unix_wait_for_connect, s, errp);
 }
 
diff --git a/migration.c b/migration.c
index 9cffdd4..68d47cd 100644
--- a/migration.c
+++ b/migration.c
@@ -291,25 +291,6 @@ void migrate_fd_error(MigrationState *s)
 notifier_list_notify(migration_state_notifiers, s);
 }
 
-static ssize_t migrate_fd_put_buffer(MigrationState *s, const void *data,
- size_t size)
-{
-ssize_t ret;
-
-if (s-state != MIG_STATE_ACTIVE) {
-return -EIO;
-}
-
-do {
-ret = s-write(s, data, size);
-} while (ret == -1  ((s-get_error(s)) == EINTR));
-
-if (ret == -1)
-ret = -(s-get_error(s));
-
-return ret;
-}
-
 static void migrate_fd_cancel(MigrationState *s)
 {
 DPRINTF(cancelling migration\n);
@@ -323,7 +304,6 @@ int migrate_fd_close(MigrationState *s)
 if (s-migration_file != NULL) {
 rc = qemu_fclose(s-migration_file);
 s-migration_file = NULL;
-s-fd = -1;
 }
 return rc;
 }
@@ -508,8 +488,6 @@ static int migration_put_buffer(void *opaque, const uint8_t 
*buf,