[libvirt] [PATCH v2] parallels: remove connection wide wait timeout

Dmitry Guryanov dguryanov at parallels.com
Wed May 13 15:43:58 UTC 2015


On 05/13/2015 05:23 PM, Nikolay Shirokovskiy wrote:
> We have a lot of passing arguments code just to pass connection
> object cause it holds jobTimeout. Taking into account that
> right now this value is defined at compile time let's just
> get rid of it and make arguments list more clear in many
> places.
>
> In case we later need some runtime configurable timeout
> value we can provide this value through arguments
> function already operate such as a parallels domain
> object etc as this timeouts are operation( and thus
> object) specific in practice.
>
> Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy at parallels.com>

ACKed and Pushed, thanks!

> ---
>   src/parallels/parallels_driver.c |    9 ++--
>   src/parallels/parallels_sdk.c    |  108 +++++++++++++++++---------------------
>   src/parallels/parallels_sdk.h    |   27 ++++-----
>   src/parallels/parallels_utils.h  |    1 -
>   4 files changed, 64 insertions(+), 81 deletions(-)
>
> diff --git a/src/parallels/parallels_driver.c b/src/parallels/parallels_driver.c
> index 205ec1c..4b87213 100644
> --- a/src/parallels/parallels_driver.c
> +++ b/src/parallels/parallels_driver.c
> @@ -214,7 +214,7 @@ parallelsOpenDefault(virConnectPtr conn)
>           goto err_free;
>       }
>   
> -    if (prlsdkInit(privconn)) {
> +    if (prlsdkInit()) {
>           VIR_DEBUG("%s", _("Can't initialize Parallels SDK"));
>           goto err_free;
>       }
> @@ -1007,7 +1007,6 @@ parallelsDomainManagedSave(virDomainPtr domain, unsigned int flags)
>   static int
>   parallelsDomainManagedSaveRemove(virDomainPtr domain, unsigned int flags)
>   {
> -    parallelsConnPtr privconn = domain->conn->privateData;
>       virDomainObjPtr dom = NULL;
>       int state, reason;
>       int ret = -1;
> @@ -1022,7 +1021,7 @@ parallelsDomainManagedSaveRemove(virDomainPtr domain, unsigned int flags)
>       if (!(state == VIR_DOMAIN_SHUTOFF && reason == VIR_DOMAIN_SHUTOFF_SAVED))
>           goto cleanup;
>   
> -    ret = prlsdkDomainManagedSaveRemove(privconn, dom);
> +    ret = prlsdkDomainManagedSaveRemove(dom);
>   
>    cleanup:
>       virObjectUnlock(dom);
> @@ -1071,7 +1070,7 @@ static int parallelsDomainAttachDeviceFlags(virDomainPtr dom, const char *xml,
>   
>       switch (dev->type) {
>       case VIR_DOMAIN_DEVICE_DISK:
> -        ret = prlsdkAttachVolume(dom->conn, privdom, dev->data.disk);
> +        ret = prlsdkAttachVolume(privdom, dev->data.disk);
>           if (ret) {
>               virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
>                              _("disk attach failed"));
> @@ -1140,7 +1139,7 @@ static int parallelsDomainDetachDeviceFlags(virDomainPtr dom, const char *xml,
>   
>       switch (dev->type) {
>       case VIR_DOMAIN_DEVICE_DISK:
> -        ret = prlsdkDetachVolume(dom->conn, privdom, dev->data.disk);
> +        ret = prlsdkDetachVolume(privdom, dev->data.disk);
>           if (ret) {
>               virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
>                              _("disk detach failed"));
> diff --git a/src/parallels/parallels_sdk.c b/src/parallels/parallels_sdk.c
> index fcd274f..d48d4b7 100644
> --- a/src/parallels/parallels_sdk.c
> +++ b/src/parallels/parallels_sdk.c
> @@ -35,8 +35,6 @@
>   #define VIR_FROM_THIS VIR_FROM_PARALLELS
>   #define JOB_INFINIT_WAIT_TIMEOUT UINT_MAX
>   
> -PRL_UINT32 defaultJobTimeout = JOB_INFINIT_WAIT_TIMEOUT;
> -
>   VIR_LOG_INIT("parallels.sdk");
>   
>   /*
> @@ -179,9 +177,9 @@ getJobResultHelper(PRL_HANDLE job, unsigned int timeout, PRL_HANDLE *result,
>       return ret;
>   }
>   
> -#define getJobResult(job, timeout, result)                  \
> -    getJobResultHelper(job, timeout, result, __FILE__,      \
> -                         __FUNCTION__, __LINE__)
> +#define getJobResult(job, result)                       \
> +    getJobResultHelper(job, JOB_INFINIT_WAIT_TIMEOUT,   \
> +            result, __FILE__, __FUNCTION__, __LINE__)
>   
>   static PRL_RESULT
>   waitJobHelper(PRL_HANDLE job, unsigned int timeout,
> @@ -197,12 +195,13 @@ waitJobHelper(PRL_HANDLE job, unsigned int timeout,
>       return ret;
>   }
>   
> -#define waitJob(job, timeout)                  \
> -    waitJobHelper(job, timeout, __FILE__,      \
> +#define waitJob(job)                                        \
> +    waitJobHelper(job, JOB_INFINIT_WAIT_TIMEOUT, __FILE__,  \
>                            __FUNCTION__, __LINE__)
>   
> +
>   int
> -prlsdkInit(parallelsConnPtr privconn)
> +prlsdkInit(void)
>   {
>       PRL_RESULT ret;
>   
> @@ -212,8 +211,6 @@ prlsdkInit(parallelsConnPtr privconn)
>           return -1;
>       }
>   
> -    privconn->jobTimeout = JOB_INFINIT_WAIT_TIMEOUT;
> -
>       return 0;
>   };
>   
> @@ -238,7 +235,7 @@ prlsdkConnect(parallelsConnPtr privconn)
>       job = PrlSrv_LoginLocalEx(privconn->server, NULL, 0,
>                                 PSL_HIGH_SECURITY, PACF_NON_INTERACTIVE_MODE);
>   
> -    if (waitJob(job, privconn->jobTimeout)) {
> +    if (waitJob(job)) {
>           PrlHandle_Free(privconn->server);
>           return -1;
>       }
> @@ -252,7 +249,7 @@ prlsdkDisconnect(parallelsConnPtr privconn)
>       PRL_HANDLE job;
>   
>       job = PrlSrv_Logoff(privconn->server);
> -    waitJob(job, privconn->jobTimeout);
> +    waitJob(job);
>   
>       PrlHandle_Free(privconn->server);
>   }
> @@ -269,7 +266,7 @@ prlsdkSdkDomainLookup(parallelsConnPtr privconn,
>       int ret = -1;
>   
>       job = PrlSrv_GetVmConfig(privconn->server, id, flags);
> -    if (PRL_FAILED(getJobResult(job, privconn->jobTimeout, &result)))
> +    if (PRL_FAILED(getJobResult(job, &result)))
>           goto cleanup;
>   
>       pret = PrlResult_GetParamByIndex(result, 0, sdkdom);
> @@ -374,9 +371,7 @@ prlsdkGetDomainIds(PRL_HANDLE sdkdom,
>   }
>   
>   static int
> -prlsdkGetDomainState(parallelsConnPtr privconn,
> -                     PRL_HANDLE sdkdom,
> -                     VIRTUAL_MACHINE_STATE_PTR vmState)
> +prlsdkGetDomainState(PRL_HANDLE sdkdom, VIRTUAL_MACHINE_STATE_PTR vmState)
>   {
>       PRL_HANDLE job = PRL_INVALID_HANDLE;
>       PRL_HANDLE result = PRL_INVALID_HANDLE;
> @@ -386,7 +381,7 @@ prlsdkGetDomainState(parallelsConnPtr privconn,
>   
>       job = PrlVm_GetState(sdkdom);
>   
> -    if (PRL_FAILED(getJobResult(job, privconn->jobTimeout, &result)))
> +    if (PRL_FAILED(getJobResult(job, &result)))
>           goto cleanup;
>   
>       pret = PrlResult_GetParamByIndex(result, 0, &vmInfo);
> @@ -1354,7 +1349,7 @@ prlsdkLoadDomain(parallelsConnPtr privconn,
>       dom->privateDataFreeFunc = prlsdkDomObjFreePrivate;
>       dom->persistent = 1;
>   
> -    if (prlsdkGetDomainState(privconn, sdkdom, &domainState) < 0)
> +    if (prlsdkGetDomainState(sdkdom, &domainState) < 0)
>           goto error;
>   
>       if (prlsdkConvertDomainState(domainState, envId, dom) < 0)
> @@ -1404,7 +1399,7 @@ prlsdkLoadDomains(parallelsConnPtr privconn)
>   
>       job = PrlSrv_GetVmListEx(privconn->server, PVTF_VM | PVTF_CT);
>   
> -    if (PRL_FAILED(getJobResult(job, privconn->jobTimeout, &result)))
> +    if (PRL_FAILED(getJobResult(job, &result)))
>           return -1;
>   
>       pret = PrlResult_GetParamsCount(result, &paramsCount);
> @@ -1464,7 +1459,7 @@ prlsdkUpdateDomain(parallelsConnPtr privconn, virDomainObjPtr dom)
>       parallelsDomObjPtr pdom = dom->privateData;
>   
>       job = PrlVm_RefreshConfig(pdom->sdkdom);
> -    if (waitJob(job, privconn->jobTimeout))
> +    if (waitJob(job))
>           return -1;
>   
>       retdom = prlsdkLoadDomain(privconn, pdom->sdkdom, dom);
> @@ -1748,56 +1743,54 @@ void prlsdkUnsubscribeFromPCSEvents(parallelsConnPtr privconn)
>           logPrlError(ret);
>   }
>   
> -PRL_RESULT prlsdkStart(parallelsConnPtr privconn, PRL_HANDLE sdkdom)
> +PRL_RESULT prlsdkStart(PRL_HANDLE sdkdom)
>   {
>       PRL_HANDLE job = PRL_INVALID_HANDLE;
>   
>       job = PrlVm_StartEx(sdkdom, PSM_VM_START, 0);
> -    return PRL_FAILED(waitJob(job, privconn->jobTimeout)) ? -1 : 0;
> +    return waitJob(job);
>   }
>   
> -static PRL_RESULT prlsdkStopEx(parallelsConnPtr privconn,
> -                        PRL_HANDLE sdkdom,
> -                        PRL_UINT32 mode)
> +static PRL_RESULT prlsdkStopEx(PRL_HANDLE sdkdom, PRL_UINT32 mode)
>   {
>       PRL_HANDLE job = PRL_INVALID_HANDLE;
>   
>       job = PrlVm_StopEx(sdkdom, mode, 0);
> -    return waitJob(job, privconn->jobTimeout);
> +    return waitJob(job);
>   }
>   
> -PRL_RESULT prlsdkKill(parallelsConnPtr privconn, PRL_HANDLE sdkdom)
> +PRL_RESULT prlsdkKill(PRL_HANDLE sdkdom)
>   {
> -    return prlsdkStopEx(privconn, sdkdom, PSM_KILL);
> +    return prlsdkStopEx(sdkdom, PSM_KILL);
>   }
>   
> -PRL_RESULT prlsdkStop(parallelsConnPtr privconn, PRL_HANDLE sdkdom)
> +PRL_RESULT prlsdkStop(PRL_HANDLE sdkdom)
>   {
> -    return prlsdkStopEx(privconn, sdkdom, PSM_SHUTDOWN);
> +    return prlsdkStopEx(sdkdom, PSM_SHUTDOWN);
>   }
>   
> -PRL_RESULT prlsdkPause(parallelsConnPtr privconn, PRL_HANDLE sdkdom)
> +PRL_RESULT prlsdkPause(PRL_HANDLE sdkdom)
>   {
>       PRL_HANDLE job = PRL_INVALID_HANDLE;
>   
>       job = PrlVm_Pause(sdkdom, false);
> -    return waitJob(job, privconn->jobTimeout);
> +    return waitJob(job);
>   }
>   
> -PRL_RESULT prlsdkResume(parallelsConnPtr privconn, PRL_HANDLE sdkdom)
> +PRL_RESULT prlsdkResume(PRL_HANDLE sdkdom)
>   {
>       PRL_HANDLE job = PRL_INVALID_HANDLE;
>   
>       job = PrlVm_Resume(sdkdom);
> -    return waitJob(job, privconn->jobTimeout);
> +    return waitJob(job);
>   }
>   
> -PRL_RESULT prlsdkSuspend(parallelsConnPtr privconn, PRL_HANDLE sdkdom)
> +PRL_RESULT prlsdkSuspend(PRL_HANDLE sdkdom)
>   {
>       PRL_HANDLE job = PRL_INVALID_HANDLE;
>   
>       job = PrlVm_Suspend(sdkdom);
> -    return waitJob(job, privconn->jobTimeout);
> +    return waitJob(job);
>   }
>   
>   int
> @@ -1810,7 +1803,7 @@ prlsdkDomainChangeStateLocked(parallelsConnPtr privconn,
>       virErrorNumber virerr;
>   
>       pdom = dom->privateData;
> -    pret = chstate(privconn, pdom->sdkdom);
> +    pret = chstate(pdom->sdkdom);
>       if (PRL_FAILED(pret)) {
>           virResetLastError();
>   
> @@ -2805,7 +2798,7 @@ static int prlsdkAddNet(PRL_HANDLE sdkdom,
>           prlsdkCheckRetGoto(pret, cleanup);
>   
>           job = PrlSrv_AddVirtualNetwork(privconn->server, vnet, 0);
> -        if (PRL_FAILED(pret = waitJob(job, privconn->jobTimeout)))
> +        if (PRL_FAILED(pret = waitJob(job)))
>               goto cleanup;
>   
>           pret = PrlVmDev_SetEmulatedType(sdknet, PNA_BRIDGED_ETHERNET);
> @@ -2844,7 +2837,7 @@ static void prlsdkDelNet(parallelsConnPtr privconn, virDomainNetDefPtr net)
>       prlsdkCheckRetGoto(pret, cleanup);
>   
>       PrlSrv_DeleteVirtualNetwork(privconn->server, vnet, 0);
> -    if (PRL_FAILED(pret = waitJob(job, privconn->jobTimeout)))
> +    if (PRL_FAILED(pret = waitJob(job)))
>           goto cleanup;
>   
>    cleanup:
> @@ -3041,23 +3034,20 @@ static int prlsdkAddDisk(PRL_HANDLE sdkdom, virDomainDiskDefPtr disk, bool bootD
>   }
>   
>   int
> -prlsdkAttachVolume(virConnectPtr conn,
> -                   virDomainObjPtr dom,
> -                   virDomainDiskDefPtr disk)
> +prlsdkAttachVolume(virDomainObjPtr dom, virDomainDiskDefPtr disk)
>   {
>       int ret = -1;
> -    parallelsConnPtr privconn = conn->privateData;
>       parallelsDomObjPtr privdom = dom->privateData;
>       PRL_HANDLE job = PRL_INVALID_HANDLE;
>   
>       job = PrlVm_BeginEdit(privdom->sdkdom);
> -    if (PRL_FAILED(waitJob(job, privconn->jobTimeout)))
> +    if (PRL_FAILED(waitJob(job)))
>           goto cleanup;
>   
>       ret = prlsdkAddDisk(privdom->sdkdom, disk, false);
>       if (ret == 0) {
>           job = PrlVm_CommitEx(privdom->sdkdom, PVCF_DETACH_HDD_BUNDLE);
> -        if (PRL_FAILED(waitJob(job, privconn->jobTimeout))) {
> +        if (PRL_FAILED(waitJob(job))) {
>               ret = -1;
>               goto cleanup;
>           }
> @@ -3113,12 +3103,10 @@ prlsdkGetDiskIndex(PRL_HANDLE sdkdom, virDomainDiskDefPtr disk)
>       return idx;
>   }
>   
> -int prlsdkDetachVolume(virConnectPtr conn,
> -                   virDomainObjPtr dom,
> -                   virDomainDiskDefPtr disk)
> +int
> +prlsdkDetachVolume(virDomainObjPtr dom, virDomainDiskDefPtr disk)
>   {
>       int ret = -1, idx;
> -    parallelsConnPtr privconn = conn->privateData;
>       parallelsDomObjPtr privdom = dom->privateData;
>       PRL_HANDLE job = PRL_INVALID_HANDLE;
>   
> @@ -3127,13 +3115,13 @@ int prlsdkDetachVolume(virConnectPtr conn,
>           goto cleanup;
>   
>       job = PrlVm_BeginEdit(privdom->sdkdom);
> -    if (PRL_FAILED(waitJob(job, privconn->jobTimeout)))
> +    if (PRL_FAILED(waitJob(job)))
>           goto cleanup;
>   
>       ret = prlsdkDelDisk(privdom->sdkdom, idx);
>       if (ret == 0) {
>           job = PrlVm_CommitEx(privdom->sdkdom, PVCF_DETACH_HDD_BUNDLE);
> -        if (PRL_FAILED(waitJob(job, privconn->jobTimeout))) {
> +        if (PRL_FAILED(waitJob(job))) {
>               ret = -1;
>               goto cleanup;
>           }
> @@ -3314,14 +3302,14 @@ prlsdkApplyConfig(virConnectPtr conn,
>           return -1;
>   
>       job = PrlVm_BeginEdit(sdkdom);
> -    if (PRL_FAILED(waitJob(job, privconn->jobTimeout)))
> +    if (PRL_FAILED(waitJob(job)))
>           return -1;
>   
>       ret = prlsdkDoApplyConfig(conn, sdkdom, new, dom->def);
>   
>       if (ret == 0) {
>           job = PrlVm_CommitEx(sdkdom, PVCF_DETACH_HDD_BUNDLE);
> -        if (PRL_FAILED(waitJob(job, privconn->jobTimeout)))
> +        if (PRL_FAILED(waitJob(job)))
>               ret = -1;
>       }
>   
> @@ -3345,7 +3333,7 @@ prlsdkCreateVm(virConnectPtr conn, virDomainDefPtr def)
>       prlsdkCheckRetGoto(pret, cleanup);
>   
>       job = PrlSrv_GetSrvConfig(privconn->server);
> -    if (PRL_FAILED(getJobResult(job, privconn->jobTimeout, &result)))
> +    if (PRL_FAILED(getJobResult(job, &result)))
>           goto cleanup;
>   
>       pret = PrlResult_GetParamByIndex(result, 0, &srvconf);
> @@ -3362,7 +3350,7 @@ prlsdkCreateVm(virConnectPtr conn, virDomainDefPtr def)
>           goto cleanup;
>   
>       job = PrlVm_Reg(sdkdom, "", 1);
> -    if (PRL_FAILED(waitJob(job, privconn->jobTimeout)))
> +    if (PRL_FAILED(waitJob(job)))
>           ret = -1;
>   
>    cleanup:
> @@ -3407,7 +3395,7 @@ prlsdkCreateCt(virConnectPtr conn, virDomainDefPtr def)
>       confParam.nOsVersion = 0;
>   
>       job = PrlSrv_GetDefaultVmConfig(privconn->server, &confParam, 0);
> -    if (PRL_FAILED(getJobResult(job, privconn->jobTimeout, &result)))
> +    if (PRL_FAILED(getJobResult(job, &result)))
>           goto cleanup;
>   
>       pret = PrlResult_GetParamByIndex(result, 0, &sdkdom);
> @@ -3425,7 +3413,7 @@ prlsdkCreateCt(virConnectPtr conn, virDomainDefPtr def)
>   
>       job = PrlVm_RegEx(sdkdom, "",
>                         PACF_NON_INTERACTIVE_MODE | PRNVM_PRESERVE_DISK);
> -    if (PRL_FAILED(waitJob(job, privconn->jobTimeout)))
> +    if (PRL_FAILED(waitJob(job)))
>           ret = -1;
>   
>    cleanup:
> @@ -3444,7 +3432,7 @@ prlsdkUnregisterDomain(parallelsConnPtr privconn, virDomainObjPtr dom)
>          prlsdkDelNet(privconn, dom->def->nets[i]);
>   
>       job = PrlVm_Unreg(privdom->sdkdom);
> -    if (PRL_FAILED(waitJob(job, privconn->jobTimeout)))
> +    if (PRL_FAILED(waitJob(job)))
>           return -1;
>   
>       if (prlsdkSendEvent(privconn, dom, VIR_DOMAIN_EVENT_UNDEFINED,
> @@ -3456,13 +3444,13 @@ prlsdkUnregisterDomain(parallelsConnPtr privconn, virDomainObjPtr dom)
>   }
>   
>   int
> -prlsdkDomainManagedSaveRemove(parallelsConnPtr privconn, virDomainObjPtr dom)
> +prlsdkDomainManagedSaveRemove(virDomainObjPtr dom)
>   {
>       parallelsDomObjPtr privdom = dom->privateData;
>       PRL_HANDLE job;
>   
>       job = PrlVm_DropSuspendedState(privdom->sdkdom);
> -    if (PRL_FAILED(waitJob(job, privconn->jobTimeout)))
> +    if (PRL_FAILED(waitJob(job)))
>           return -1;
>   
>       return 0;
> diff --git a/src/parallels/parallels_sdk.h b/src/parallels/parallels_sdk.h
> index 3ad46c3..3f17fc8 100644
> --- a/src/parallels/parallels_sdk.h
> +++ b/src/parallels/parallels_sdk.h
> @@ -24,7 +24,7 @@
>   
>   #include "parallels_utils.h"
>   
> -int prlsdkInit(parallelsConnPtr privconn);
> +int prlsdkInit(void);
>   void prlsdkDeinit(void);
>   int prlsdkConnect(parallelsConnPtr privconn);
>   void prlsdkDisconnect(parallelsConnPtr privconn);
> @@ -35,14 +35,14 @@ prlsdkAddDomain(parallelsConnPtr privconn, const unsigned char *uuid);
>   int prlsdkUpdateDomain(parallelsConnPtr privconn, virDomainObjPtr dom);
>   int prlsdkSubscribeToPCSEvents(parallelsConnPtr privconn);
>   void prlsdkUnsubscribeFromPCSEvents(parallelsConnPtr privconn);
> -PRL_RESULT prlsdkStart(parallelsConnPtr privconn, PRL_HANDLE sdkdom);
> -PRL_RESULT prlsdkKill(parallelsConnPtr privconn, PRL_HANDLE sdkdom);
> -PRL_RESULT prlsdkStop(parallelsConnPtr privconn, PRL_HANDLE sdkdom);
> -PRL_RESULT prlsdkPause(parallelsConnPtr privconn, PRL_HANDLE sdkdom);
> -PRL_RESULT prlsdkResume(parallelsConnPtr privconn, PRL_HANDLE sdkdom);
> -PRL_RESULT prlsdkSuspend(parallelsConnPtr privconn, PRL_HANDLE sdkdom);
> +PRL_RESULT prlsdkStart(PRL_HANDLE sdkdom);
> +PRL_RESULT prlsdkKill(PRL_HANDLE sdkdom);
> +PRL_RESULT prlsdkStop(PRL_HANDLE sdkdom);
> +PRL_RESULT prlsdkPause(PRL_HANDLE sdkdom);
> +PRL_RESULT prlsdkResume(PRL_HANDLE sdkdom);
> +PRL_RESULT prlsdkSuspend(PRL_HANDLE sdkdom);
>   
> -typedef PRL_RESULT (*prlsdkChangeStateFunc)(parallelsConnPtr privconn, PRL_HANDLE sdkdom);
> +typedef PRL_RESULT (*prlsdkChangeStateFunc)(PRL_HANDLE sdkdom);
>   int
>   prlsdkDomainChangeState(virDomainPtr domain,
>                           prlsdkChangeStateFunc chstate);
> @@ -59,11 +59,8 @@ int prlsdkCreateCt(virConnectPtr conn, virDomainDefPtr def);
>   int
>   prlsdkUnregisterDomain(parallelsConnPtr privconn, virDomainObjPtr dom);
>   int
> -prlsdkDomainManagedSaveRemove(parallelsConnPtr privconn, virDomainObjPtr dom);
> +prlsdkDomainManagedSaveRemove(virDomainObjPtr dom);
>   int
> -prlsdkAttachVolume(virConnectPtr conn,
> -                   virDomainObjPtr dom,
> -                   virDomainDiskDefPtr disk);
> -int prlsdkDetachVolume(virConnectPtr conn,
> -                   virDomainObjPtr dom,
> -                   virDomainDiskDefPtr disk);
> +prlsdkAttachVolume(virDomainObjPtr dom, virDomainDiskDefPtr disk);
> +int
> +prlsdkDetachVolume(virDomainObjPtr dom, virDomainDiskDefPtr disk);
> diff --git a/src/parallels/parallels_utils.h b/src/parallels/parallels_utils.h
> index 3f49cec..2d1d405 100644
> --- a/src/parallels/parallels_utils.h
> +++ b/src/parallels/parallels_utils.h
> @@ -62,7 +62,6 @@ struct _parallelsConn {
>       virDomainObjListPtr domains;
>   
>       PRL_HANDLE server;
> -    PRL_UINT32 jobTimeout;
>       virStoragePoolObjList pools;
>       virNetworkObjListPtr networks;
>       virCapsPtr caps;




More information about the libvir-list mailing list