From: Amador Pahim <apahim@redhat.com>
To: qemu-devel@nongnu.org
Cc: famz@redhat.com, crosa@redhat.com, ehabkost@redhat.com,
Amador Pahim <apahim@redhat.com>
Subject: [Qemu-devel] [PATCH v10 8/8] qemu.py: don't launch again before shutdown()
Date: Mon, 13 Nov 2017 23:23:58 +0100 [thread overview]
Message-ID: <20171113222358.30967-9-apahim@redhat.com> (raw)
In-Reply-To: <20171113222358.30967-1-apahim@redhat.com>
If a VM is launched, files are created and a cleanup is required before
a new launch. This cleanup is executed by shutdown(), so shutdown() must
be called even if the VM is manually terminated (i.e. using kill).
This patch creates a control to make sure launch() will not be executed
again if shutdown() is not called after the previous launch().
Signed-off-by: Amador Pahim <apahim@redhat.com>
---
scripts/qemu.py | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/scripts/qemu.py b/scripts/qemu.py
index ab172c3670..c1b0895e94 100644
--- a/scripts/qemu.py
+++ b/scripts/qemu.py
@@ -89,6 +89,7 @@ class QEMUMachine(object):
self._qemu_full_args = None
self._test_dir = test_dir
self._temp_dir = None
+ self._launched = False
# just in case logging wasn't configured by the main script:
logging.basicConfig()
@@ -210,10 +211,14 @@ class QEMUMachine(object):
if self.is_running():
raise QEMUMachineError('VM already running')
+ if self._launched:
+ raise QEMUMachineError('Shutdown pending after previous launch')
+
self._iolog = None
self._qemu_full_args = None
try:
self._launch()
+ self._launched = True
except:
self.shutdown()
@@ -266,6 +271,8 @@ class QEMUMachine(object):
command = ''
LOG.warn(msg, exitcode, command)
+ self._launched = False
+
def qmp(self, cmd, conv_keys=True, **args):
'''Invoke a QMP command and return the response dict'''
qmp_args = dict()
--
2.13.6
next prev parent reply other threads:[~2017-11-13 22:25 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-13 22:23 [Qemu-devel] [PATCH v10 0/8] scripts/qemu.py fixes and cleanups Amador Pahim
2017-11-13 22:23 ` [Qemu-devel] [PATCH v10 1/8] qemu.py: remove unused import Amador Pahim
2017-11-13 22:23 ` [Qemu-devel] [PATCH v10 2/8] qemu.py: better control of created files Amador Pahim
2017-11-13 23:03 ` Amador Pahim
2017-11-13 22:23 ` [Qemu-devel] [PATCH v10 3/8] qemu.py: refactor launch() Amador Pahim
2017-11-13 22:23 ` [Qemu-devel] [PATCH v10 4/8] qemu.py: always cleanup on shutdown() Amador Pahim
2017-11-13 22:23 ` [Qemu-devel] [PATCH v10 5/8] qemu.py: use poll() instead of 'returncode' Amador Pahim
2017-11-13 22:23 ` [Qemu-devel] [PATCH v10 6/8] qemu.py: cleanup redundant calls in launch() Amador Pahim
2017-11-13 22:23 ` [Qemu-devel] [PATCH v10 7/8] qemu.py: launch vm only if it's not running Amador Pahim
2017-11-13 22:23 ` Amador Pahim [this message]
2017-11-13 22:52 ` [Qemu-devel] [PATCH v10 0/8] scripts/qemu.py fixes and cleanups no-reply
2017-11-14 7:33 ` Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171113222358.30967-9-apahim@redhat.com \
--to=apahim@redhat.com \
--cc=crosa@redhat.com \
--cc=ehabkost@redhat.com \
--cc=famz@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.