xen: move virDomainDefPostParse to xenParseSxpr

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>
This commit is contained in:
Pavel Hrdina 2016-01-07 08:59:26 +01:00
parent f0df0dcaa0
commit 4100aecd13
3 changed files with 20 additions and 14 deletions

View File

@ -1552,7 +1552,9 @@ xenDaemonDomainFetch(virConnectPtr conn, int domid, const char *name,
if (!(def = xenParseSxpr(root, if (!(def = xenParseSxpr(root,
cpus, cpus,
tty, tty,
vncport))) vncport,
priv->caps,
priv->xmlopt)))
goto cleanup; goto cleanup;
cleanup: cleanup:
@ -3082,7 +3084,8 @@ xenDaemonDomainBlockPeek(virConnectPtr conn,
vncport = xenStoreDomainGetVNCPort(conn, id); vncport = xenStoreDomainGetVNCPort(conn, id);
xenUnifiedUnlock(priv); xenUnifiedUnlock(priv);
if (!(def = xenParseSxpr(root, NULL, tty, vncport))) if (!(def = xenParseSxpr(root, NULL, tty, vncport,
priv->caps, priv->xmlopt)))
goto cleanup; goto cleanup;
if (!(actual = virDomainDiskPathByName(def, path))) { if (!(actual = virDomainDiskPathByName(def, path))) {

View File

@ -1065,7 +1065,11 @@ xenParseSxprPCI(virDomainDefPtr def,
*/ */
virDomainDefPtr virDomainDefPtr
xenParseSxpr(const struct sexpr *root, 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; const char *tmp;
virDomainDefPtr def; virDomainDefPtr def;
@ -1371,6 +1375,10 @@ xenParseSxpr(const struct sexpr *root,
goto error; goto error;
} }
if (virDomainDefPostParse(def, caps, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE,
xmlopt) < 0)
goto error;
return def; return def;
error: error:
@ -1405,16 +1413,7 @@ xenParseSxprString(const char *sexpr,
if (!root) if (!root)
return NULL; return NULL;
if (!(def = xenParseSxpr(root, NULL, tty, vncport))) def = xenParseSxpr(root, NULL, tty, vncport, caps, xmlopt);
goto cleanup;
if (virDomainDefPostParse(def, caps, VIR_DOMAIN_DEF_PARSE_ABI_UPDATE,
xmlopt) < 0) {
virDomainDefFree(def);
def = NULL;
}
cleanup:
sexpr_free(root); sexpr_free(root);
return def; return def;

View File

@ -43,7 +43,11 @@ virDomainDefPtr xenParseSxprString(const char *sexpr,
virDomainXMLOptionPtr xmlopt); virDomainXMLOptionPtr xmlopt);
virDomainDefPtr xenParseSxpr(const struct sexpr *root, 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); int xenParseSxprSound(virDomainDefPtr def, const char *str);