[Qemu-devel] Re: [PATCH 3/3] monitor: Convert do_migrate() to QError

2010-03-29 Thread Markus Armbruster
Luiz Capitulino lcapitul...@redhat.com writes:

 On Thu, 25 Mar 2010 20:30:33 +0100
 Markus Armbruster arm...@redhat.com wrote:

 Luiz Capitulino lcapitul...@redhat.com writes:
 
  On Thu, 25 Mar 2010 18:37:25 +0100
  Markus Armbruster arm...@redhat.com wrote:
 
  [...]
 
   @@ -86,12 +86,13 @@ int do_migrate(Monitor *mon, const QDict *qdict, 
   QObject **ret_data)
(int)qdict_get_int(qdict, 
   inc));
#endif
} else {
   -monitor_printf(mon, unknown migration protocol: %s\n, uri);
   +qerror_report(QERR_INVALID_PARAMETER, uri);
return -1;
}

if (s == NULL) {
   -monitor_printf(mon, migration failed\n);
   +/* TODO push error reporting into the 
   FOO_start_outgoing_migration() */
   +qerror_report(QERR_MIGRATION_FAILED);
return -1;
}
  
I think this one is no better than the automatic UndefinedError
   which is going to be triggered. I would only touch this when/if
   we get the migration functions converted.
  
  I feel it is a bit better, because:
  
  * It doesn't dilute the nice this is a bug, and I should report it
property of UndefinedError.
  
  * It avoids the returned failure but did not pass an error message.
Minor, because it's under CONFIG_DEBUG_MONITOR.
 
   But this is exactly what we want because having QERR_MIGRATION_FAILED
  there doesn't fix the problems those warnings are making us aware of.
 
 Except we are already aware of the problem, and additional warnings are
 just noise.

  Our memory is not the best place for it, not only because we can forget,
 but also because it's limited on you and me.

  Anyone who enables QMP's debugging support should be able to know what's
 there to be done.

That's what TODO comments are for.




[Qemu-devel] Re: [PATCH 3/3] monitor: Convert do_migrate() to QError

2010-03-26 Thread Luiz Capitulino
On Thu, 25 Mar 2010 20:30:33 +0100
Markus Armbruster arm...@redhat.com wrote:

 Luiz Capitulino lcapitul...@redhat.com writes:
 
  On Thu, 25 Mar 2010 18:37:25 +0100
  Markus Armbruster arm...@redhat.com wrote:
 
  [...]
 
   @@ -86,12 +86,13 @@ int do_migrate(Monitor *mon, const QDict *qdict, 
   QObject **ret_data)
(int)qdict_get_int(qdict, 
   inc));
#endif
} else {
   -monitor_printf(mon, unknown migration protocol: %s\n, uri);
   +qerror_report(QERR_INVALID_PARAMETER, uri);
return -1;
}

if (s == NULL) {
   -monitor_printf(mon, migration failed\n);
   +/* TODO push error reporting into the 
   FOO_start_outgoing_migration() */
   +qerror_report(QERR_MIGRATION_FAILED);
return -1;
}
  
I think this one is no better than the automatic UndefinedError
   which is going to be triggered. I would only touch this when/if
   we get the migration functions converted.
  
  I feel it is a bit better, because:
  
  * It doesn't dilute the nice this is a bug, and I should report it
property of UndefinedError.
  
  * It avoids the returned failure but did not pass an error message.
Minor, because it's under CONFIG_DEBUG_MONITOR.
 
   But this is exactly what we want because having QERR_MIGRATION_FAILED
  there doesn't fix the problems those warnings are making us aware of.
 
 Except we are already aware of the problem, and additional warnings are
 just noise.

 Our memory is not the best place for it, not only because we can forget,
but also because it's limited on you and me.

 Anyone who enables QMP's debugging support should be able to know what's
there to be done.




[Qemu-devel] Re: [PATCH 3/3] monitor: Convert do_migrate() to QError

2010-03-25 Thread Markus Armbruster
Luiz Capitulino lcapitul...@redhat.com writes:

 On Tue, 23 Mar 2010 19:07:21 +0100
 Markus Armbruster arm...@redhat.com wrote:

 Human monitor error message changes from unknown migration protocol:
 FOO to Invalid parameter uri.
 
 The conversion is shallow: the FOO_start_outgoing_migration() aren't
 converted.  Converting them is a big job for relatively little
 practical benefit, so leave it for later.
 
 Signed-off-by: Markus Armbruster arm...@redhat.com
 ---
  migration.c |9 +
  1 files changed, 5 insertions(+), 4 deletions(-)
 
 diff --git a/migration.c b/migration.c
 index 05f6cc5..47d2ab5 100644
 --- a/migration.c
 +++ b/migration.c
 @@ -56,14 +56,14 @@ void qemu_start_incoming_migration(const char *uri)
  
  int do_migrate(Monitor *mon, const QDict *qdict, QObject **ret_data)
  {
 -MigrationState *s = NULL;
 +MigrationState *s;
  const char *p;
  int detach = qdict_get_int(qdict, detach);
  const char *uri = qdict_get_str(qdict, uri);
  
  if (current_migration 
  current_migration-get_status(current_migration) == 
 MIG_STATE_ACTIVE) {
 -monitor_printf(mon, migration already in progress\n);
 +qerror_report(QERR_MIGRATION_IN_PROGRESS);
  return -1;
  }

  What about QERR_OPERATION_IN_PROGRESS? So that we have:

 Operation already in progress: migration.

We'd get an error argument activity: migration.  Fine with me.

 @@ -86,12 +86,13 @@ int do_migrate(Monitor *mon, const QDict *qdict, QObject 
 **ret_data)
  (int)qdict_get_int(qdict, inc));
  #endif
  } else {
 -monitor_printf(mon, unknown migration protocol: %s\n, uri);
 +qerror_report(QERR_INVALID_PARAMETER, uri);
  return -1;
  }
  
  if (s == NULL) {
 -monitor_printf(mon, migration failed\n);
 +/* TODO push error reporting into the 
 FOO_start_outgoing_migration() */
 +qerror_report(QERR_MIGRATION_FAILED);
  return -1;
  }

  I think this one is no better than the automatic UndefinedError
 which is going to be triggered. I would only touch this when/if
 we get the migration functions converted.

I feel it is a bit better, because:

* It doesn't dilute the nice this is a bug, and I should report it
  property of UndefinedError.

* It avoids the returned failure but did not pass an error message.
  Minor, because it's under CONFIG_DEBUG_MONITOR.

But I'm not particular about it.




[Qemu-devel] Re: [PATCH 3/3] monitor: Convert do_migrate() to QError

2010-03-25 Thread Luiz Capitulino
On Thu, 25 Mar 2010 18:37:25 +0100
Markus Armbruster arm...@redhat.com wrote:

[...]

  @@ -86,12 +86,13 @@ int do_migrate(Monitor *mon, const QDict *qdict, 
  QObject **ret_data)
   (int)qdict_get_int(qdict, inc));
   #endif
   } else {
  -monitor_printf(mon, unknown migration protocol: %s\n, uri);
  +qerror_report(QERR_INVALID_PARAMETER, uri);
   return -1;
   }
   
   if (s == NULL) {
  -monitor_printf(mon, migration failed\n);
  +/* TODO push error reporting into the 
  FOO_start_outgoing_migration() */
  +qerror_report(QERR_MIGRATION_FAILED);
   return -1;
   }
 
   I think this one is no better than the automatic UndefinedError
  which is going to be triggered. I would only touch this when/if
  we get the migration functions converted.
 
 I feel it is a bit better, because:
 
 * It doesn't dilute the nice this is a bug, and I should report it
   property of UndefinedError.
 
 * It avoids the returned failure but did not pass an error message.
   Minor, because it's under CONFIG_DEBUG_MONITOR.

 But this is exactly what we want because having QERR_MIGRATION_FAILED
there doesn't fix the problems those warnings are making us aware of.




[Qemu-devel] Re: [PATCH 3/3] monitor: Convert do_migrate() to QError

2010-03-25 Thread Markus Armbruster
Luiz Capitulino lcapitul...@redhat.com writes:

 On Thu, 25 Mar 2010 18:37:25 +0100
 Markus Armbruster arm...@redhat.com wrote:

 [...]

  @@ -86,12 +86,13 @@ int do_migrate(Monitor *mon, const QDict *qdict, 
  QObject **ret_data)
   (int)qdict_get_int(qdict, 
  inc));
   #endif
   } else {
  -monitor_printf(mon, unknown migration protocol: %s\n, uri);
  +qerror_report(QERR_INVALID_PARAMETER, uri);
   return -1;
   }
   
   if (s == NULL) {
  -monitor_printf(mon, migration failed\n);
  +/* TODO push error reporting into the 
  FOO_start_outgoing_migration() */
  +qerror_report(QERR_MIGRATION_FAILED);
   return -1;
   }
 
   I think this one is no better than the automatic UndefinedError
  which is going to be triggered. I would only touch this when/if
  we get the migration functions converted.
 
 I feel it is a bit better, because:
 
 * It doesn't dilute the nice this is a bug, and I should report it
   property of UndefinedError.
 
 * It avoids the returned failure but did not pass an error message.
   Minor, because it's under CONFIG_DEBUG_MONITOR.

  But this is exactly what we want because having QERR_MIGRATION_FAILED
 there doesn't fix the problems those warnings are making us aware of.

Except we are already aware of the problem, and additional warnings are
just noise.




[Qemu-devel] Re: [PATCH 3/3] monitor: Convert do_migrate() to QError

2010-03-24 Thread Luiz Capitulino
On Tue, 23 Mar 2010 19:07:21 +0100
Markus Armbruster arm...@redhat.com wrote:

 Human monitor error message changes from unknown migration protocol:
 FOO to Invalid parameter uri.
 
 The conversion is shallow: the FOO_start_outgoing_migration() aren't
 converted.  Converting them is a big job for relatively little
 practical benefit, so leave it for later.
 
 Signed-off-by: Markus Armbruster arm...@redhat.com
 ---
  migration.c |9 +
  1 files changed, 5 insertions(+), 4 deletions(-)
 
 diff --git a/migration.c b/migration.c
 index 05f6cc5..47d2ab5 100644
 --- a/migration.c
 +++ b/migration.c
 @@ -56,14 +56,14 @@ void qemu_start_incoming_migration(const char *uri)
  
  int do_migrate(Monitor *mon, const QDict *qdict, QObject **ret_data)
  {
 -MigrationState *s = NULL;
 +MigrationState *s;
  const char *p;
  int detach = qdict_get_int(qdict, detach);
  const char *uri = qdict_get_str(qdict, uri);
  
  if (current_migration 
  current_migration-get_status(current_migration) == 
 MIG_STATE_ACTIVE) {
 -monitor_printf(mon, migration already in progress\n);
 +qerror_report(QERR_MIGRATION_IN_PROGRESS);
  return -1;
  }

 What about QERR_OPERATION_IN_PROGRESS? So that we have:

Operation already in progress: migration.

  
 @@ -86,12 +86,13 @@ int do_migrate(Monitor *mon, const QDict *qdict, QObject 
 **ret_data)
  (int)qdict_get_int(qdict, inc));
  #endif
  } else {
 -monitor_printf(mon, unknown migration protocol: %s\n, uri);
 +qerror_report(QERR_INVALID_PARAMETER, uri);
  return -1;
  }
  
  if (s == NULL) {
 -monitor_printf(mon, migration failed\n);
 +/* TODO push error reporting into the FOO_start_outgoing_migration() 
 */
 +qerror_report(QERR_MIGRATION_FAILED);
  return -1;
  }

 I think this one is no better than the automatic UndefinedError
which is going to be triggered. I would only touch this when/if
we get the migration functions converted.