qemu/qga
Daniel P. Berrangé 49d8c8e237 qga: conditionalize schema for commands requiring fsfreeze
Rather than creating stubs for every command that just return
QERR_UNSUPPORTED, use 'if' conditions in the schema to fully
exclude generation of the filesystem freezing commands on POSIX
platforms lacking the required APIs.

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-14-berrange@redhat.com>
Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>
2024-07-19 11:50:35 +03:00
..
installer qga/win/installer: add VssOption to installer 2023-03-08 18:26:49 +02:00
vss-win32 qga/: spelling fixes 2023-09-08 13:08:52 +03:00
channel-posix.c qga/: spelling fixes 2023-09-08 13:08:52 +03:00
channel-win32.c qga: Add spaces around operator 2021-03-16 20:20:37 -05:00
channel.h qga: add systemd socket activation support 2017-03-06 00:54:18 -06:00
commands-bsd.c qga: conditionalize schema for commands requiring linux/win32 2024-07-19 11:50:35 +03:00
commands-common-ssh.c qga: Refactor common SSH functions 2024-05-01 10:35:45 +03:00
commands-common-ssh.h qga: Refactor common SSH functions 2024-05-01 10:35:45 +03:00
commands-common.h qga: move CONFIG_FSFREEZE/TRIM to be meson defined options 2024-07-19 11:50:35 +03:00
commands-linux.c qga: move linux memory block command impls to commands-linux.c 2024-07-19 11:50:35 +03:00
commands-posix-ssh.c Remove glib compatibility code that is not required anymore 2024-05-14 12:46:39 +02:00
commands-posix.c qga: conditionalize schema for commands requiring fsfreeze 2024-07-19 11:50:35 +03:00
commands-win32.c qga: conditionalize schema for commands unsupported on Windows 2024-07-19 11:50:35 +03:00
commands-windows-ssh.c qga: Implement SSH commands for Windows 2024-05-01 10:35:45 +03:00
commands-windows-ssh.h qga: Implement SSH commands for Windows 2024-05-01 10:35:45 +03:00
commands.c qga: Shorten several error messages 2024-05-27 12:59:10 +02:00
cutils.c qga: Clean up includes 2023-02-08 07:16:23 +01:00
cutils.h qga: Clean up includes 2023-02-08 07:16:23 +01:00
guest-agent-command-state.c qga: use local path for local headers 2018-06-01 19:20:38 +03:00
guest-agent-core.h qga: Replace 'blacklist' and 'whitelist' in the guest agent sources 2022-09-20 12:37:00 +02:00
main.c qga: Remove deprecated 'blacklist' argument / config key 2024-06-04 11:53:43 +02:00
meson.build qga: Implement SSH commands for Windows 2024-05-01 10:35:45 +03:00
messages-win32.mc qga-win: add logging to Windows event log 2022-12-20 15:54:41 +02:00
qapi-schema.json qga: conditionalize schema for commands requiring fsfreeze 2024-07-19 11:50:35 +03:00
service-win32.c qga: Remove unnecessary glib.h includes 2016-06-07 18:19:24 +03:00
service-win32.h qga-win: changing --retry-path option behavior 2018-10-31 09:04:20 -05:00
vss-win32.c qga-win: add support for qmp_guest_fsfreeze_freeze_list 2018-10-30 16:48:49 -05:00
vss-win32.h qga-win: add support for qmp_guest_fsfreeze_freeze_list 2018-10-30 16:48:49 -05:00