qga: don't disable fsfreeze commands if vss_init fails
The fsfreeze commands are already written to report an error if vss_init() fails. Reporting a more specific error message is more helpful than a generic "command is disabled" message, which cannot between an admin config decision and lack of platform support. Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-ID: <20240712132459.3974109-19-berrange@redhat.com> Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>
This commit is contained in:
parent
4be55a4fce
commit
b81837f0d3
@ -1203,7 +1203,7 @@ GuestFilesystemInfoList *qmp_guest_get_fsinfo(Error **errp)
|
||||
GuestFsfreezeStatus qmp_guest_fsfreeze_status(Error **errp)
|
||||
{
|
||||
if (!vss_initialized()) {
|
||||
error_setg(errp, QERR_UNSUPPORTED);
|
||||
error_setg(errp, "fsfreeze not possible as VSS failed to initialize");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1231,7 +1231,7 @@ int64_t qmp_guest_fsfreeze_freeze_list(bool has_mountpoints,
|
||||
Error *local_err = NULL;
|
||||
|
||||
if (!vss_initialized()) {
|
||||
error_setg(errp, QERR_UNSUPPORTED);
|
||||
error_setg(errp, "fsfreeze not possible as VSS failed to initialize");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1266,7 +1266,7 @@ int64_t qmp_guest_fsfreeze_thaw(Error **errp)
|
||||
int i;
|
||||
|
||||
if (!vss_initialized()) {
|
||||
error_setg(errp, QERR_UNSUPPORTED);
|
||||
error_setg(errp, "fsfreeze not possible as VSS failed to initialize");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1961,18 +1961,6 @@ done:
|
||||
/* add unsupported commands to the list of blocked RPCs */
|
||||
GList *ga_command_init_blockedrpcs(GList *blockedrpcs)
|
||||
{
|
||||
if (!vss_init(true)) {
|
||||
g_debug("vss_init failed, vss commands are going to be disabled");
|
||||
const char *list[] = {
|
||||
"guest-get-fsinfo", "guest-fsfreeze-status",
|
||||
"guest-fsfreeze-freeze", "guest-fsfreeze-thaw", NULL};
|
||||
char **p = (char **)list;
|
||||
|
||||
while (*p) {
|
||||
blockedrpcs = g_list_append(blockedrpcs, g_strdup(*p++));
|
||||
}
|
||||
}
|
||||
|
||||
return blockedrpcs;
|
||||
}
|
||||
|
||||
|
@ -1395,6 +1395,10 @@ static GAState *initialize_agent(GAConfig *config, int socket_activation)
|
||||
" '%s': %s", config->state_dir, strerror(errno));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (!vss_init(true)) {
|
||||
g_debug("vss_init failed, vss commands will not function");
|
||||
}
|
||||
#endif
|
||||
|
||||
if (ga_is_frozen(s)) {
|
||||
|
Loading…
Reference in New Issue
Block a user