On 30.01.2015 20:58, Maxim Nestratov wrote: > 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; I'm not sure this is correct. I mean, parallelsLoadNetwork() could have failed for so many reasons. And some of them are show stoppers (e.g. OOM). > > } > > 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'; > + } > + We like comments in old way /* */, and we even like spaces around brackets and after 'if'-s. > if (olddom) { > /* assign new virDomainDef without any checks */ > /* we can't use virDomainObjAssignDef, because it checks > Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list