Eric Blake <ebl...@redhat.com> writes:

> On 01/13/2015 10:50 AM, Markus Armbruster wrote:
>> Commit 7572150 adopted QERR_DEVICE_NOT_ACTIVE for the purpose,
>> probably because adding another error seemed cumbersome overkill.
>> Produces "No spice device has been activated", which is awkward.
>> 
>> We've since abandoned our quest for "rich" error objects.  Time to
>> undo the damage to this error message.  Replace it by "SPICE is not in
>> use".
>> 
>> Keep the stupid DeviceNotActive ErrorClass for compatibility, even
>> though Libvirt doesn't use it.
>
> Libvirt has a few places that look explicitly for "DeviceNotActive" when
> deciding how to handle failure reporting; I didn't audit closely enough
> to see if it actually changes behavior if the class were to disappear.

I studied libvirt's use of error classes other than GenericError before
my Christmas break.  My findings:

* CommandNotFound: used; libvirt could perhaps rely on query-commands
  instead

* DeviceEncrypted: not used (surprise, surprise)

* DeviceNotActive: used with balloon and block jobs, not used with spice

* DeviceNotFound: used to detect active commit support, with
  device-list-properties and with qom-list (which isn't about devices at
  all)

* KVMMissingCap: used; occurs only with balloon, and it shandled just
  like DeviceNotActive

> Your approach in this patch is safest, at any rate.

I'm resigned to keeping these error classes around.  I'm still fighting
their proliferation to new code.

>> Signed-off-by: Markus Armbruster <arm...@redhat.com>
>> ---
>>  include/ui/qemu-spice.h | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> Reviewed-by: Eric Blake <ebl...@redhat.com>

Thanks!

Reply via email to