From d4a42093b1900b9dbf96fc0832064446deae3de9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Wed, 23 Dec 2015 19:24:25 +0100 Subject: [PATCH] dispvm: Start required NetVM first (if necessary) The comment "calling VM have the same netvm" doesn't apply to: - DispVM started from dom0 menu - DispVM started from a VM with `dispvm_netvm` property modified Fixes QubesOS/qubes-issues#1334 --- core-modules/01QubesDisposableVm.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/core-modules/01QubesDisposableVm.py b/core-modules/01QubesDisposableVm.py index 8fedb742..03b10b93 100644 --- a/core-modules/01QubesDisposableVm.py +++ b/core-modules/01QubesDisposableVm.py @@ -168,8 +168,13 @@ class QubesDisposableVm(QubesVm): if self.get_power_state() != "Halted": raise QubesException ("VM is already running!") - # skip netvm state checking - calling VM have the same netvm, so it - # must be already running + if self.netvm is not None: + if self.netvm.qid != 0: + if not self.netvm.is_running(): + if verbose: + print >> sys.stderr, "--> Starting NetVM {0}...".\ + format(self.netvm.name) + self.netvm.start(verbose=verbose, **kwargs) if verbose: print >> sys.stderr, "--> Loading the VM (type = {0})...".format(self.type)