This patch partially reverts previous commit
91a00424 and moves the post
parse function to xenParseSxpr. This update is required because xen
driver calls xenParseSxpr directly.
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
if (!(def = xenParseSxpr(root,
cpus,
tty,
- vncport)))
+ vncport,
+ priv->caps,
+ priv->xmlopt)))
goto cleanup;
cleanup:
vncport = xenStoreDomainGetVNCPort(conn, id);
xenUnifiedUnlock(priv);
- if (!(def = xenParseSxpr(root, NULL, tty, vncport)))
+ if (!(def = xenParseSxpr(root, NULL, tty, vncport,
+ priv->caps, priv->xmlopt)))
goto cleanup;
if (!(actual = virDomainDiskPathByName(def, path))) {
*/
virDomainDefPtr
xenParseSxpr(const struct sexpr *root,
- const char *cpus, char *tty, int vncport)
+ const char *cpus,
+ char *tty,
+ int vncport,
+ virCapsPtr caps,
+ virDomainXMLOptionPtr xmlopt)
{
const char *tmp;
virDomainDefPtr def;
goto error;
}
+ if (virDomainDefPostParse(def, caps, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE,
+ xmlopt) < 0)
+ goto error;
+
return def;
error:
if (!root)
return NULL;
- if (!(def = xenParseSxpr(root, NULL, tty, vncport)))
- goto cleanup;
-
- if (virDomainDefPostParse(def, caps, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE,
- xmlopt) < 0) {
- virDomainDefFree(def);
- def = NULL;
- }
-
- cleanup:
+ def = xenParseSxpr(root, NULL, tty, vncport, caps, xmlopt);
sexpr_free(root);
return def;
virDomainXMLOptionPtr xmlopt);
virDomainDefPtr xenParseSxpr(const struct sexpr *root,
- const char *cpus, char *tty, int vncport);
+ const char *cpus,
+ char *tty,
+ int vncport,
+ virCapsPtr caps,
+ virDomainXMLOptionPtr xmlopt);
int xenParseSxprSound(virDomainDefPtr def, const char *str);