[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH 3/3] monitor: Convert do_migrate() to QError
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] Re: [PATCH 3/3] monitor: Convert do_migrate() to QError |
Date: |
Thu, 25 Mar 2010 18:37:25 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
Luiz Capitulino <address@hidden> writes:
> On Tue, 23 Mar 2010 19:07:21 +0100
> Markus Armbruster <address@hidden> 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 <address@hidden>
>> ---
>> 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] [PATCH 0/3] Convert do_migrate() to QError, Markus Armbruster, 2010/03/23
- [Qemu-devel] [PATCH 1/3] QError: New QERR_MIGRATION_IN_PROGRESS, Markus Armbruster, 2010/03/23
- [Qemu-devel] [PATCH 3/3] monitor: Convert do_migrate() to QError, Markus Armbruster, 2010/03/23
- [Qemu-devel] Re: [PATCH 3/3] monitor: Convert do_migrate() to QError, Luiz Capitulino, 2010/03/24
- [Qemu-devel] Re: [PATCH 3/3] monitor: Convert do_migrate() to QError,
Markus Armbruster <=
- [Qemu-devel] Re: [PATCH 3/3] monitor: Convert do_migrate() to QError, Luiz Capitulino, 2010/03/25
- [Qemu-devel] Re: [PATCH 3/3] monitor: Convert do_migrate() to QError, Markus Armbruster, 2010/03/25
- [Qemu-devel] Re: [PATCH 3/3] monitor: Convert do_migrate() to QError, Luiz Capitulino, 2010/03/26
- [Qemu-devel] Re: [PATCH 3/3] monitor: Convert do_migrate() to QError, Markus Armbruster, 2010/03/29
- [Qemu-devel] Re: [PATCH 3/3] monitor: Convert do_migrate() to QError, Luiz Capitulino, 2010/03/29
[Qemu-devel] [PATCH 2/3] QError: New QERR_MIGRATION_FAILED, Markus Armbruster, 2010/03/23