On 3/27/19 2:19 PM, Bjoern Walk wrote:
Michal Privoznik <mprivozn(a)redhat.com> [2019-03-27, 02:05PM
+0100]:
> On 3/25/19 9:04 AM, Bjoern Walk wrote:
>> diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
>> index 5c4dd412..e0962014 100644
>> --- a/src/remote/remote_driver.c
>> +++ b/src/remote/remote_driver.c
>> @@ -8131,6 +8131,49 @@ remoteStorageVolGetInfoFlags(virStorageVolPtr vol,
>> return rv;
>> }
>> +static int
>> +remoteDomainGetStateParams(virDomainPtr domain,
>> + int *state,
>> + int *reason,
>> + virTypedParameterPtr *params,
>> + int *nparams,
>> + unsigned int flags)
>> +{
>> + int rv = -1;
>> + remote_domain_get_state_params_args args;
>> + remote_domain_get_state_params_ret ret;
>> + struct private_data *priv = domain->conn->privateData;
>> +
>> + remoteDriverLock(priv);
>> +
>> + make_nonnull_domain(&args.dom, domain);
>> + args.flags = flags;
>> +
>> + memset(&ret, 0, sizeof(ret));
>> + if (call(domain->conn, priv, 0, REMOTE_PROC_DOMAIN_GET_STATE_PARAMS,
>> + (xdrproc_t) xdr_remote_domain_get_state_params_args, (char *)
&args,
>> + (xdrproc_t) xdr_remote_domain_get_state_params_ret, (char *)
&ret) == -1)
>> + goto done;
>> +
>> + *state = ret.state;
>> + *reason = ret.reason;
>
> Neither @state nor @reason is required to be non-NULL. I mean, based on
> checks from 3/7 it's just fine to call virDomaingetStateParams(dom, NULL,
> NULL, ..);
Yepp, correct. Missed that.
>> diff --git a/src/remote_protocol-structs b/src/remote_protocol-structs
>> index 768189c5..670164de 100644
>> --- a/src/remote_protocol-structs
>> +++ b/src/remote_protocol-structs
>> @@ -2162,6 +2162,18 @@ struct remote_domain_get_state_ret {
>> int state;
>> int reason;
>> };
>> +struct remote_domain_get_state_params_args {
>> + remote_nonnull_domain dom;
>> + u_int flags;
>> +};
>> +struct remote_domain_get_state_params_ret {
>> + int state;
>> + int reason;
>> + struct {
>> + u_int params_len;
>> + remote_typed_param * params_val;
>> + } params;
>> +};
>> struct remote_domain_migrate_begin3_args {
>> remote_nonnull_domain dom;
>> remote_string xmlin;
>>
>
> This is missing REMOTE_PROC_DOMAIN_GET_STATE_PARAMS = 404, at EOF :-)
Huh? Never even noticed. And yet it compiles and runs just fine. Where
are those definitions used?
This is a file that's used in 'make check' and you need pdwtags to run
it. If you don't have it installed the test is skipped.
Michal