On Mon, 29 Mar 2010 14:38:35 +0200 Markus Armbruster <arm...@redhat.com> wrote:
> 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. It's case by case and in this very case I'd only add QERR_MIGRATION_FAILED if it makes difference for clients, because besides silencing the warning w/o the proper fix, this error is probably going to be dropped when the *_outgoing_migration() functions are converted.