The domain startup process is split into multiple phases. One of them is preparing the domain (at that point live) XML, private data, various paths, etc - see qemuProcessPrepareDomain(); the other prepares the host - see qemuProcessPrepareHost(). It's obvious that the domain XML preparation function must be called before the host preparation function (e.g. the host preparation might try to create a file which path is generated in the domain preparation phase). Nevertheless, let's document this expectation. Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx> --- src/qemu/qemu_process.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index e1c18dde90..19b9242623 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -6634,6 +6634,8 @@ qemuProcessPrepareChardevSource(virDomainDef *def, * start the domain but create a valid qemu command. If some code shouldn't be * executed in this case, make sure to check this flag. * + * This function MUST be called before qemuProcessPrepareHost(). + * * TODO: move all XML modification from qemuBuildCommandLine into this function */ int @@ -7151,6 +7153,8 @@ qemuProcessPrepareHostBackendChardevHotplug(virDomainObj *vm, * update live XML) to prepare environment for a domain which is about to start * and it's the only place to do those modifications. * + * This function MUST be called only after qemuProcessPrepareDomain(). + * * TODO: move all host modification from qemuBuildCommandLine into this function */ int -- 2.37.4