After 55ea7be7, failures of parallelsLoadNetworks and parallelsStorageOpen started to fail establishing a new connection to parallels driver. Before this patch we simply ignored such errors. This patch restores the ability to connect to parallels driver even if parallelsLoadNetworks fails to get information about Parallels Bridged networks. This can happen when it is unconfigured (which is a common case on developers hosts for instance) or configured incompletely. In any case it is not a severe error and we can ignore it. Failures of parallelsStorageOpen occured because we incorrectly treated path to VM' configuration file as a directory. Now initialization of parallels VM domains home directory is fixed. Signed-off-by: Maxim Nestratov <mnestratov@xxxxxxxxxxxxx> --- src/parallels/parallels_network.c | 2 +- src/parallels/parallels_sdk.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletions(-) diff --git a/src/parallels/parallels_network.c b/src/parallels/parallels_network.c index 3e7087d..033b347 100644 --- a/src/parallels/parallels_network.c +++ b/src/parallels/parallels_network.c @@ -304,7 +304,7 @@ static int parallelsLoadNetworks(parallelsConnPtr privconn) net = parallelsLoadNetwork(privconn, jobj2); if (!net) - goto cleanup; + continue; } diff --git a/src/parallels/parallels_sdk.c b/src/parallels/parallels_sdk.c index d0d2ce2..b9d5ddf 100644 --- a/src/parallels/parallels_sdk.c +++ b/src/parallels/parallels_sdk.c @@ -1247,6 +1247,14 @@ prlsdkLoadDomain(parallelsConnPtr privconn, pret = PrlVmCfg_GetHomePath(sdkdom, pdom->home, &buflen); prlsdkCheckRetGoto(pret, error); + // For VMs pdom->home is actually /directory/config.pvs + if(!IS_CT(def)){ + // Get rid of /config.pvs in path string + char *s = strrchr(pdom->home, '/'); + if (s) + *s = '\0'; + } + if (olddom) { /* assign new virDomainDef without any checks */ /* we can't use virDomainObjAssignDef, because it checks -- 1.7.1 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list