mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-03 03:25:20 +00:00
qemuAgentGetUsers: expose 'report_unsupported' argument
Use qemuAgentCommandFull so that callers of qemuAgentGetUsers can suppress error reports if the function is not supported by the guest agent. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
3332e5211a
commit
de1d822691
@ -2312,29 +2312,30 @@ qemuAgentSetUserPassword(qemuAgentPtr agent,
|
||||
}
|
||||
|
||||
/* Returns: 0 on success
|
||||
* -2 when agent command is not supported by the agent
|
||||
* -1 otherwise
|
||||
* -2 when agent command is not supported by the agent and
|
||||
* 'report_unsupported' is false (libvirt error is not reported)
|
||||
* -1 otherwise (libvirt error is reported)
|
||||
*/
|
||||
int
|
||||
qemuAgentGetUsers(qemuAgentPtr agent,
|
||||
virTypedParameterPtr *params,
|
||||
int *nparams,
|
||||
int *maxparams)
|
||||
int *maxparams,
|
||||
bool report_unsupported)
|
||||
{
|
||||
g_autoptr(virJSONValue) cmd = NULL;
|
||||
g_autoptr(virJSONValue) reply = NULL;
|
||||
virJSONValuePtr data = NULL;
|
||||
size_t ndata;
|
||||
size_t i;
|
||||
int rc;
|
||||
|
||||
if (!(cmd = qemuAgentMakeCommand("guest-get-users", NULL)))
|
||||
return -1;
|
||||
|
||||
if (qemuAgentCommand(agent, cmd, &reply, agent->timeout) < 0) {
|
||||
if (qemuAgentErrorCommandUnsupported(reply))
|
||||
return -2;
|
||||
return -1;
|
||||
}
|
||||
if ((rc = qemuAgentCommandFull(agent, cmd, &reply, agent->timeout,
|
||||
report_unsupported)) < 0)
|
||||
return rc;
|
||||
|
||||
if (!(data = virJSONValueObjectGetArray(reply, "return"))) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
|
@ -151,7 +151,8 @@ int qemuAgentSetUserPassword(qemuAgentPtr mon,
|
||||
int qemuAgentGetUsers(qemuAgentPtr mon,
|
||||
virTypedParameterPtr *params,
|
||||
int *nparams,
|
||||
int *maxparams);
|
||||
int *maxparams,
|
||||
bool report_unsupported);
|
||||
|
||||
int qemuAgentGetOSInfo(qemuAgentPtr mon,
|
||||
virTypedParameterPtr *params,
|
||||
|
@ -23016,7 +23016,7 @@ qemuDomainGetGuestInfo(virDomainPtr dom,
|
||||
* 'unsupported' errors and gather as much information as we can. In all
|
||||
* other cases, abort on error. */
|
||||
if (supportedTypes & VIR_DOMAIN_GUEST_INFO_USERS) {
|
||||
rc = qemuAgentGetUsers(agent, params, nparams, &maxparams);
|
||||
rc = qemuAgentGetUsers(agent, params, nparams, &maxparams, true);
|
||||
if (rc < 0 && !(rc == -2 && types == 0))
|
||||
goto exitagent;
|
||||
}
|
||||
|
@ -1040,7 +1040,7 @@ testQemuAgentUsers(const void *data)
|
||||
|
||||
/* get users */
|
||||
if (qemuAgentGetUsers(qemuMonitorTestGetAgent(test),
|
||||
¶ms, &nparams, &maxparams) < 0)
|
||||
¶ms, &nparams, &maxparams, true) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (virTypedParamsGetUInt(params, nparams, "user.count", &count) < 0)
|
||||
@ -1069,7 +1069,7 @@ testQemuAgentUsers(const void *data)
|
||||
|
||||
/* get users with domain */
|
||||
if (qemuAgentGetUsers(qemuMonitorTestGetAgent(test),
|
||||
¶ms, &nparams, &maxparams) < 0)
|
||||
¶ms, &nparams, &maxparams, true) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (virTypedParamsGetUInt(params, nparams, "user.count", &count) < 0)
|
||||
|
Loading…
Reference in New Issue
Block a user