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
Same for property "chardev".
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <
20221012153801.
2604340-4-armbru@redhat.com>
QTest *q = QTEST(obj);
if (qtest == q) {
- error_setg(errp, QERR_PERMISSION_DENIED);
+ error_setg(errp, "Property 'log' can not be set now");
} else {
g_free(q->log);
q->log = g_strdup(value);
Chardev *chr;
if (qtest == q) {
- error_setg(errp, QERR_PERMISSION_DENIED);
+ error_setg(errp, "Property 'chardev' can not be set now");
return;
}