qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 3/4] qtest: Improve error messages when property can not be s


From: Markus Armbruster
Subject: Re: [PATCH 3/4] qtest: Improve error messages when property can not be set right now
Date: Thu, 27 Oct 2022 08:02:10 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)

Markus Armbruster <armbru@redhat.com> writes:

> Thomas Huth <thuth@redhat.com> writes:
>
>> On 12/10/2022 17.38, Markus Armbruster wrote:
>>> When you try to set qtest property "log" while the qtest object is
>>> active, the error message blames "insufficient permission":
>>> 
>>>      $ qemu-system-x86_64 -S -display none -nodefaults -monitor stdio 
>>> -chardev socket,id=chrqt0,path=qtest.socket,server=on,wait=off -object 
>>> qtest,id=qt0,chardev=chrqt0,log=/dev/null
>>>      QEMU 7.1.50 monitor - type 'help' for more information
>>>      (qemu) qom-set /objects/qt0 log qtest.log
>>>      Error: Insufficient permission to perform this operation
>>> 
>>> This implies it could work with "sufficient permission".  It can't.
>>> Change the error message to:
>>> 
>>>      Error: Property 'log' can not be set now
>>
>> Can it be set later? ... if not, that error message is almost as confusing 
>> as the original one. Maybe it's better to tell the users *when* they can set 
>> the property?
>
> The property cannot be set while the object is "active", i.e. global
> @qtest points to it.
>
> Right now, @qtest points to the object from completion with
> user_creatable_complete() to unparent.
>
> Completion fails when @qtest already points to another object, i.e. only
> one object can be complete at any time.
>
> Since Paolo took the trouble to code an unparent method, I assume
> unparent can happen.  I can't tell offhand when.
>
> Help!

Since users are unlikely to hit this error, the new message feels good
enough to me.  Happy to take rewordings, or to redo the patch so that it
preserves the old message while getting rid of QERR_PERMISSION_DENIED.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]