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.