From: Wen Congyang <wency@cn.fujitsu.com>
To: kvm list <kvm@vger.kernel.org>,
qemu-devel <qemu-devel@nongnu.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Avi Kivity <avi@redhat.com>,
"Daniel P. Berrange" <berrange@redhat.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Jan Kiszka <jan.kiszka@siemens.com>,
Gleb Natapov <gleb@redhat.com>
Subject: [PATCH v8 1/6] start vm after reseting it
Date: Wed, 08 Aug 2012 10:44:59 +0800 [thread overview]
Message-ID: <5021D2AB.4070005@cn.fujitsu.com> (raw)
In-Reply-To: <5021D235.4050800@cn.fujitsu.com>
The guest should run after reseting it, but it does not run if its
old state is RUN_STATE_INTERNAL_ERROR or RUN_STATE_PAUSED.
We don't set runstate to RUN_STATE_PAUSED when reseting the guest,
so the runstate will be changed from RUN_STATE_INTERNAL_ERROR or
RUN_STATE_PAUSED to RUN_STATE_RUNNING(not RUN_STATE_PAUSED).
Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
---
block.h | 2 ++
qmp.c | 2 +-
vl.c | 7 ++++---
3 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/block.h b/block.h
index 650d872..29449bd 100644
--- a/block.h
+++ b/block.h
@@ -338,6 +338,8 @@ void bdrv_disable_copy_on_read(BlockDriverState *bs);
void bdrv_set_in_use(BlockDriverState *bs, int in_use);
int bdrv_in_use(BlockDriverState *bs);
+void iostatus_bdrv_it(void *opaque, BlockDriverState *bs);
+
enum BlockAcctType {
BDRV_ACCT_READ,
BDRV_ACCT_WRITE,
diff --git a/qmp.c b/qmp.c
index fee9fb2..a111dff 100644
--- a/qmp.c
+++ b/qmp.c
@@ -125,7 +125,7 @@ SpiceInfo *qmp_query_spice(Error **errp)
};
#endif
-static void iostatus_bdrv_it(void *opaque, BlockDriverState *bs)
+void iostatus_bdrv_it(void *opaque, BlockDriverState *bs)
{
bdrv_iostatus_reset(bs);
}
diff --git a/vl.c b/vl.c
index e71cb30..856e089 100644
--- a/vl.c
+++ b/vl.c
@@ -333,7 +333,7 @@ static const RunStateTransition runstate_transitions_def[] = {
{ RUN_STATE_INMIGRATE, RUN_STATE_RUNNING },
{ RUN_STATE_INMIGRATE, RUN_STATE_PRELAUNCH },
- { RUN_STATE_INTERNAL_ERROR, RUN_STATE_PAUSED },
+ { RUN_STATE_INTERNAL_ERROR, RUN_STATE_RUNNING },
{ RUN_STATE_INTERNAL_ERROR, RUN_STATE_FINISH_MIGRATE },
{ RUN_STATE_IO_ERROR, RUN_STATE_RUNNING },
@@ -366,7 +366,7 @@ static const RunStateTransition runstate_transitions_def[] = {
{ RUN_STATE_SAVE_VM, RUN_STATE_RUNNING },
- { RUN_STATE_SHUTDOWN, RUN_STATE_PAUSED },
+ { RUN_STATE_SHUTDOWN, RUN_STATE_RUNNING },
{ RUN_STATE_SHUTDOWN, RUN_STATE_FINISH_MIGRATE },
{ RUN_STATE_DEBUG, RUN_STATE_SUSPENDED },
@@ -1531,7 +1531,8 @@ static bool main_loop_should_exit(void)
resume_all_vcpus();
if (runstate_check(RUN_STATE_INTERNAL_ERROR) ||
runstate_check(RUN_STATE_SHUTDOWN)) {
- runstate_set(RUN_STATE_PAUSED);
+ bdrv_iterate(iostatus_bdrv_it, NULL);
+ vm_start();
}
}
if (qemu_powerdown_requested()) {
--
1.7.1
WARNING: multiple messages have this Message-ID (diff)
From: Wen Congyang <wency@cn.fujitsu.com>
To: kvm list <kvm@vger.kernel.org>,
qemu-devel <qemu-devel@nongnu.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Avi Kivity <avi@redhat.com>,
"Daniel P. Berrange" <berrange@redhat.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Jan Kiszka <jan.kiszka@siemens.com>,
Gleb Natapov <gleb@redhat.com>
Subject: [Qemu-devel] [PATCH v8 1/6] start vm after reseting it
Date: Wed, 08 Aug 2012 10:44:59 +0800 [thread overview]
Message-ID: <5021D2AB.4070005@cn.fujitsu.com> (raw)
In-Reply-To: <5021D235.4050800@cn.fujitsu.com>
The guest should run after reseting it, but it does not run if its
old state is RUN_STATE_INTERNAL_ERROR or RUN_STATE_PAUSED.
We don't set runstate to RUN_STATE_PAUSED when reseting the guest,
so the runstate will be changed from RUN_STATE_INTERNAL_ERROR or
RUN_STATE_PAUSED to RUN_STATE_RUNNING(not RUN_STATE_PAUSED).
Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
---
block.h | 2 ++
qmp.c | 2 +-
vl.c | 7 ++++---
3 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/block.h b/block.h
index 650d872..29449bd 100644
--- a/block.h
+++ b/block.h
@@ -338,6 +338,8 @@ void bdrv_disable_copy_on_read(BlockDriverState *bs);
void bdrv_set_in_use(BlockDriverState *bs, int in_use);
int bdrv_in_use(BlockDriverState *bs);
+void iostatus_bdrv_it(void *opaque, BlockDriverState *bs);
+
enum BlockAcctType {
BDRV_ACCT_READ,
BDRV_ACCT_WRITE,
diff --git a/qmp.c b/qmp.c
index fee9fb2..a111dff 100644
--- a/qmp.c
+++ b/qmp.c
@@ -125,7 +125,7 @@ SpiceInfo *qmp_query_spice(Error **errp)
};
#endif
-static void iostatus_bdrv_it(void *opaque, BlockDriverState *bs)
+void iostatus_bdrv_it(void *opaque, BlockDriverState *bs)
{
bdrv_iostatus_reset(bs);
}
diff --git a/vl.c b/vl.c
index e71cb30..856e089 100644
--- a/vl.c
+++ b/vl.c
@@ -333,7 +333,7 @@ static const RunStateTransition runstate_transitions_def[] = {
{ RUN_STATE_INMIGRATE, RUN_STATE_RUNNING },
{ RUN_STATE_INMIGRATE, RUN_STATE_PRELAUNCH },
- { RUN_STATE_INTERNAL_ERROR, RUN_STATE_PAUSED },
+ { RUN_STATE_INTERNAL_ERROR, RUN_STATE_RUNNING },
{ RUN_STATE_INTERNAL_ERROR, RUN_STATE_FINISH_MIGRATE },
{ RUN_STATE_IO_ERROR, RUN_STATE_RUNNING },
@@ -366,7 +366,7 @@ static const RunStateTransition runstate_transitions_def[] = {
{ RUN_STATE_SAVE_VM, RUN_STATE_RUNNING },
- { RUN_STATE_SHUTDOWN, RUN_STATE_PAUSED },
+ { RUN_STATE_SHUTDOWN, RUN_STATE_RUNNING },
{ RUN_STATE_SHUTDOWN, RUN_STATE_FINISH_MIGRATE },
{ RUN_STATE_DEBUG, RUN_STATE_SUSPENDED },
@@ -1531,7 +1531,8 @@ static bool main_loop_should_exit(void)
resume_all_vcpus();
if (runstate_check(RUN_STATE_INTERNAL_ERROR) ||
runstate_check(RUN_STATE_SHUTDOWN)) {
- runstate_set(RUN_STATE_PAUSED);
+ bdrv_iterate(iostatus_bdrv_it, NULL);
+ vm_start();
}
}
if (qemu_powerdown_requested()) {
--
1.7.1
next prev parent reply other threads:[~2012-08-08 2:44 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-08 2:43 [PATCH v8] kvm: notify host when the guest is panicked Wen Congyang
2012-08-08 2:43 ` [Qemu-devel] " Wen Congyang
2012-08-08 2:44 ` Wen Congyang [this message]
2012-08-08 2:44 ` [Qemu-devel] [PATCH v8 1/6] start vm after reseting it Wen Congyang
2012-08-08 2:45 ` [PATCH v8 2/6] kvm: Update kernel headers Wen Congyang
2012-08-08 2:45 ` [Qemu-devel] " Wen Congyang
2012-08-08 2:45 ` [PATCH v8 3/6] add a new runstate: RUN_STATE_GUEST_PANICKED Wen Congyang
2012-08-08 2:45 ` [Qemu-devel] " Wen Congyang
2012-08-08 2:46 ` [PATCH v8 4/6] add a new qevent: QEVENT_GUEST_PANICKED Wen Congyang
2012-08-08 2:46 ` [Qemu-devel] " Wen Congyang
2012-08-08 2:47 ` [PATCH v8 5/6] introduce a new qom device to deal with panicked event Wen Congyang
2012-08-08 2:47 ` [Qemu-devel] " Wen Congyang
2012-08-08 19:01 ` Blue Swirl
2012-08-08 19:01 ` Blue Swirl
2012-08-22 7:30 ` Wen Congyang
2012-08-22 7:30 ` Wen Congyang
2012-08-25 7:36 ` Blue Swirl
2012-08-25 7:36 ` Blue Swirl
2012-08-08 2:47 ` [PATCH v8 6/6] allower the user to disable pv event support Wen Congyang
2012-08-08 2:47 ` [Qemu-devel] " Wen Congyang
2012-08-08 9:12 ` [PATCH v8] kvm: notify host when the guest is panicked Andrew Jones
2012-08-08 9:12 ` [Qemu-devel] " Andrew Jones
2012-08-08 9:28 ` Wen Congyang
2012-08-08 9:28 ` [Qemu-devel] " Wen Congyang
2012-08-13 18:21 ` Marcelo Tosatti
2012-08-13 18:21 ` [Qemu-devel] " Marcelo Tosatti
2012-08-13 19:48 ` Eric Blake
2012-08-13 19:48 ` Eric Blake
2012-08-13 20:24 ` Marcelo Tosatti
2012-08-13 20:24 ` [Qemu-devel] " Marcelo Tosatti
2012-08-13 20:24 ` Marcelo Tosatti
2012-08-14 7:47 ` Gleb Natapov
2012-08-14 7:47 ` [Qemu-devel] " Gleb Natapov
2012-08-14 7:47 ` Gleb Natapov
2012-08-14 15:29 ` Marcelo Tosatti
2012-08-14 15:29 ` Marcelo Tosatti
2012-08-14 15:50 ` Gleb Natapov
2012-08-14 15:50 ` [Qemu-devel] " Gleb Natapov
2012-08-14 15:50 ` Gleb Natapov
2012-08-14 8:56 ` Daniel P. Berrange
2012-08-14 8:56 ` [Qemu-devel] " Daniel P. Berrange
2012-08-14 8:56 ` Daniel P. Berrange
2012-08-14 10:42 ` Jan Kiszka
2012-08-14 10:42 ` [Qemu-devel] " Jan Kiszka
2012-08-14 10:42 ` Jan Kiszka
2012-08-14 14:55 ` Yan Vugenfirer
2012-08-14 14:55 ` [Qemu-devel] " Yan Vugenfirer
2012-08-14 14:55 ` Yan Vugenfirer
2012-08-14 15:01 ` Jan Kiszka
2012-08-14 15:01 ` [Qemu-devel] " Jan Kiszka
2012-08-14 15:42 ` Marcelo Tosatti
2012-08-14 15:42 ` [Qemu-devel] " Marcelo Tosatti
2012-08-14 15:42 ` Marcelo Tosatti
2012-08-14 18:53 ` [Qemu-devel] " Anthony Liguori
2012-08-14 18:53 ` Anthony Liguori
2012-08-14 19:19 ` Marcelo Tosatti
2012-08-14 19:19 ` Marcelo Tosatti
2012-08-14 19:35 ` Anthony Liguori
2012-08-14 19:35 ` [Qemu-devel] " Anthony Liguori
2012-08-14 19:35 ` Anthony Liguori
2012-08-14 20:53 ` Marcelo Tosatti
2012-08-14 20:53 ` Marcelo Tosatti
2012-08-14 22:59 ` Anthony Liguori
2012-08-14 22:59 ` [Qemu-devel] " Anthony Liguori
2012-08-14 22:59 ` Anthony Liguori
2012-08-15 0:25 ` [PATCH v8] kvm: notify host when the guest is panicked\ Marcelo Tosatti
2012-08-15 0:25 ` [Qemu-devel] " Marcelo Tosatti
2012-08-15 0:25 ` Marcelo Tosatti
2012-08-22 6:33 ` [PATCH v8] kvm: notify host when the guest is panicked Wen Congyang
2012-08-22 6:33 ` [Qemu-devel] " Wen Congyang
2012-08-22 6:33 ` Wen Congyang
2012-08-15 9:56 ` Gleb Natapov
2012-08-15 9:56 ` [Qemu-devel] " Gleb Natapov
2012-08-15 9:56 ` Gleb Natapov
2012-08-15 11:42 ` Yan Vugenfirer
2012-08-15 11:42 ` Yan Vugenfirer
2012-08-15 11:38 ` Yan Vugenfirer
2012-08-15 11:38 ` [Qemu-devel] " Yan Vugenfirer
2012-08-15 11:38 ` Yan Vugenfirer
2012-08-14 19:58 ` Peter Maydell
2012-08-14 19:58 ` [Qemu-devel] " Peter Maydell
2012-08-14 19:58 ` Peter Maydell
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=5021D2AB.4070005@cn.fujitsu.com \
--to=wency@cn.fujitsu.com \
--cc=avi@redhat.com \
--cc=berrange@redhat.com \
--cc=gleb@redhat.com \
--cc=jan.kiszka@siemens.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--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.