From 444f15adb8cda879e16c02abfa685c787ab1ca44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A1n=20Tomko?= Date: Fri, 2 Mar 2018 15:12:49 +0100 Subject: [PATCH] conf: set postParseFailed even without ALLOW_POST_PARSE_FAIL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We allow the postParse callbacks to fail for some reasons (missing emulator binary) when parsing the configs from /etc/libvirt. In that case, def->postParseFailed is set to true and the post parse callbacks are re-executed on domain startup. However this bool was only set when virDomainDefPostParse was called with the ALLOW_POST_PARSE_FAIL flag set. If the callback failed again on domain startup, the bool would be reset and subsequent startups would not attempt to reexecute the callback. Signed-off-by: Ján Tomko --- src/conf/domain_conf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index fcafc8b2fa..a248d73de3 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -5027,6 +5027,9 @@ virDomainDefPostParseCheckFailure(virDomainDefPtr def, unsigned int parseFlags, int ret) { + if (ret != 0) + def->postParseFailed = true; + if (ret <= 0) return ret; @@ -5034,7 +5037,6 @@ virDomainDefPostParseCheckFailure(virDomainDefPtr def, return -1; virResetLastError(); - def->postParseFailed = true; return 0; }