diff options
author | Daniel P. Berrangé <berrange@redhat.com> | 2024-07-12 14:24:49 +0100 |
---|---|---|
committer | Konstantin Kostiuk <kkostiuk@redhat.com> | 2024-07-19 11:50:35 +0300 |
commit | dedf99f3032aa2968af55c62a5642ed3648ff58d (patch) | |
tree | e5527c7cc3a385ce6c4dbc8a7104d726f02f73e3 /qga/commands-posix.c | |
parent | 83a7a1ab9af79396831fbb6df510c91e51d1d174 (diff) | |
download | qemu-dedf99f3032aa2968af55c62a5642ed3648ff58d.zip qemu-dedf99f3032aa2968af55c62a5642ed3648ff58d.tar.gz qemu-dedf99f3032aa2968af55c62a5642ed3648ff58d.tar.bz2 |
qga: conditionalize schema for commands only supported on Windows
Rather than creating stubs for every command that just return
QERR_UNSUPPORTED, use 'if' conditions in the QAPI schema to
fully exclude generation of the commands on non-Windows.
The command will be rejected at QMP dispatch time instead,
avoiding reimplementing rejection by blocking the stub commands.
This changes the error message for affected commands from
{"class": "CommandNotFound", "desc": "Command FOO has been disabled"}
to
{"class": "CommandNotFound", "desc": "The command FOO has not been found"}
This has the additional benefit that the QGA protocol reference
now documents what conditions enable use of the command.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Message-ID: <20240712132459.3974109-13-berrange@redhat.com>
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>
Diffstat (limited to 'qga/commands-posix.c')
-rw-r--r-- | qga/commands-posix.c | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/qga/commands-posix.c b/qga/commands-posix.c index 838dc3c..b7f96aa 100644 --- a/qga/commands-posix.c +++ b/qga/commands-posix.c @@ -1207,8 +1207,6 @@ GList *ga_command_init_blockedrpcs(GList *blockedrpcs) blockedrpcs = g_list_append(blockedrpcs, g_strdup("guest-fstrim")); #endif - blockedrpcs = g_list_append(blockedrpcs, g_strdup("guest-get-devices")); - return blockedrpcs; } @@ -1419,13 +1417,6 @@ GuestOSInfo *qmp_guest_get_osinfo(Error **errp) return info; } -GuestDeviceInfoList *qmp_guest_get_devices(Error **errp) -{ - error_setg(errp, QERR_UNSUPPORTED); - - return NULL; -} - #ifndef HOST_NAME_MAX # ifdef _POSIX_HOST_NAME_MAX # define HOST_NAME_MAX _POSIX_HOST_NAME_MAX |