On Wed, 2015-02-18 at 15:43 +0100, Markus Armbruster wrote:
> Scott, can you review?
> 
> Markus Armbruster <arm...@redhat.com> writes:
> 
> > We call ppce500_init_mpic_kvm() to create a "kvm-openpic".  If it
> > fails, we call ppce500_init_mpic_qemu() to fall back to plain
> > "openpic".
> >
> > ppce500_init_mpic_kvm() uses qdev_init().  qdev_init()'s error
> > handling has an unwanted side effect: it calls qerror_report_err(),
> > which prints to stderr.  Looks like an error, but isn't.
> >
> > In QMP context, it would stash the error in the monitor instead,
> > making the QMP command fail.  Fortunately, it's only called from board
> > initialization, never in QMP context.
> >
> > Clean up by cutting out the qdev_init() middle-man: set property
> > "realized" directly.
> >
> > While there, improve the error message when we can't satisfy an
> > explicit user request for "kvm-openpic", and exit(1) instead of
> > abort().

I'm OK with this if setting the realized property directly is considered
good practice, but if we're not supposed to call qdev_init() in cases
where it could legitimately fail, why is it distinct from
qdev_init_nofail()?

-Scott



Reply via email to