Thomas Huth <th...@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!