On Fri, 2011-01-07 at 09:51 +0100, Jan Kiszka wrote: > Am 07.01.2011 08:18, Alex Williamson wrote: > > monitor_print only does anything for foreground commands, so we > > don't ever see this error message in the case of a 'migrate -d'. > > Your change needlessly steals the error from the monitor console where > it belongs if migrate is used without -d. IIRC, mon is NULL in detached > mode, so only print to stderr if there is no alternative. Otherwise > stick with the monitor for interactive use.
Indeed, mon is NULL. That makes this an easy if (mon) { monitor_printf() } else { fprintf() } But I wonder if we should put the fprintf in the monitor_printf() path so we're not just special casing this one user. Should all monitor_printfs go to stderr if there's no monitor? Thanks, Alex > > It also doesn't do much good to print a monitor error message if > > the migration is being driven by something like libvirt. Both > > There is not only libvirt. Please don't destroy HMP "experience". > > Jan > > > of these seem to be the typical usage scenarios, so we might as > > well print this error to stderr so it can at least be found in > > the log messages. > > > > Signed-off-by: Alex Williamson <alex.william...@redhat.com> > > --- > > > > savevm.c | 2 +- > > 1 files changed, 1 insertions(+), 1 deletions(-) > > > > diff --git a/savevm.c b/savevm.c > > index 90aa237..c6b9b01 100644 > > --- a/savevm.c > > +++ b/savevm.c > > @@ -1543,7 +1543,7 @@ int qemu_savevm_state_complete(Monitor *mon, QEMUFile > > *f) > > > > r = vmstate_save(f, se); > > if (r < 0) { > > - monitor_printf(mon, "cannot migrate with device '%s'\n", > > se->idstr); > > + fprintf(stderr, "cannot migrate with device '%s'\n", > > se->idstr); > > return r; > > } > > } > > > > > > >