From: Hu Tao <hutao@cn.fujitsu.com>
To: Marcelo Tosatti <mtosatti@redhat.com>
Cc: kvm list <kvm@vger.kernel.org>,
qemu-devel <qemu-devel@nongnu.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Daniel P. Berrange" <berrange@redhat.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
Jan Kiszka <jan.kiszka@siemens.com>,
Gleb Natapov <gleb@redhat.com>, Blue Swirl <blauwirbel@gmail.com>,
Eric Blake <eblake@redhat.com>, Andrew Jones <drjones@redhat.com>,
Sasha Levin <levinsasha928@gmail.com>,
Luiz Capitulino <lcapitulino@redhat.com>,
Wen Congyang <wency@cn.fujitsu.com>
Subject: Re: [PATCH v12 rebased 2/8] start vm after resetting it
Date: Wed, 20 Feb 2013 16:13:49 +0800 [thread overview]
Message-ID: <20130220081348.GC23246@localhost.localdomain> (raw)
In-Reply-To: <20130208015028.GC3364@amt.cnet>
On Thu, Feb 07, 2013 at 11:50:28PM -0200, Marcelo Tosatti wrote:
> On Wed, Jan 23, 2013 at 03:19:23PM +0800, Hu Tao wrote:
> > From: Wen Congyang <wency@cn.fujitsu.com>
> >
> > The guest should run after resetting 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 resetting 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).
>
> It appears the last hunk will automatically reset state from
> RUN_STATE_INTERNAL_ERROR to RUN_STATE_RUNNING ?
Yes.
>
> I suppose the transition table allows, from RUN_STATE_INTERNAL_ERROR:
>
> <monitor> system_reset
> <monitor> cont
>
> To resume the machine?
True.
I think the purpose of this patch is to always reset and _run_ the guest
by `system_reset', avoiding an additional `cont' following `system_reset'.
>
> >
> > Signed-off-by: Wen Congyang <wency@cn.fujitsu.com>
> > ---
> > include/block/block.h | 2 ++
> > qmp.c | 2 +-
> > vl.c | 7 ++++---
> > 3 files changed, 7 insertions(+), 4 deletions(-)
> >
> > diff --git a/include/block/block.h b/include/block/block.h
> > index ffd1936..5e82ccb 100644
> > --- a/include/block/block.h
> > +++ b/include/block/block.h
> > @@ -366,6 +366,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);
> > +
> > #ifdef CONFIG_LINUX_AIO
> > int raw_get_aio_fd(BlockDriverState *bs);
> > #else
> > diff --git a/qmp.c b/qmp.c
> > index 55b056b..5f1bed1 100644
> > --- a/qmp.c
> > +++ b/qmp.c
> > @@ -130,7 +130,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 b0bcf1e..1d2edaa 100644
> > --- a/vl.c
> > +++ b/vl.c
> > @@ -534,7 +534,7 @@ static const RunStateTransition runstate_transitions_def[] = {
> > { RUN_STATE_INMIGRATE, RUN_STATE_RUNNING },
> > { RUN_STATE_INMIGRATE, RUN_STATE_PAUSED },
> >
> > - { 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 },
> > @@ -569,7 +569,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 },
> > @@ -1951,7 +1951,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_wakeup_requested()) {
> > --
> > 1.8.0.1.240.ge8a1f5a
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe kvm" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Regards,
Hu Tao
next prev parent reply other threads:[~2013-02-20 8:13 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-23 7:19 [PATCH v12 rebased 0/8] pv event to notify host when the guest is panicked Hu Tao
2013-01-23 7:19 ` [PATCH v12 rebased] kvm: " Hu Tao
2013-02-08 1:39 ` Marcelo Tosatti
2013-02-08 1:39 ` Marcelo Tosatti
2013-02-28 8:54 ` Hu Tao
2013-03-02 0:03 ` Marcelo Tosatti
2013-03-02 0:03 ` [Qemu-devel] " Marcelo Tosatti
2013-03-02 0:03 ` Marcelo Tosatti
2013-03-03 13:00 ` Gleb Natapov
2013-03-03 13:00 ` [Qemu-devel] " Gleb Natapov
2013-03-03 22:29 ` Marcelo Tosatti
2013-03-03 22:29 ` [Qemu-devel] " Marcelo Tosatti
2013-03-04 17:49 ` Gleb Natapov
2013-03-04 17:49 ` [Qemu-devel] " Gleb Natapov
2013-03-04 17:49 ` Gleb Natapov
[not found] ` <20130304204348.GB20761@amt.cnet>
2013-03-05 7:05 ` Gleb Natapov
2013-03-05 7:05 ` [Qemu-devel] " Gleb Natapov
2013-03-05 7:05 ` Gleb Natapov
2013-01-23 7:19 ` [PATCH v12 rebased 1/8] preserve cpu runstate Hu Tao
2013-02-08 1:45 ` Marcelo Tosatti
2013-02-08 1:45 ` Marcelo Tosatti
2013-02-20 7:54 ` Hu Tao
2013-01-23 7:19 ` [PATCH v12 rebased 2/8] start vm after resetting it Hu Tao
2013-02-08 1:50 ` Marcelo Tosatti
2013-02-08 1:50 ` Marcelo Tosatti
2013-02-20 8:13 ` Hu Tao [this message]
2013-03-02 0:07 ` Marcelo Tosatti
2013-03-02 0:07 ` [Qemu-devel] " Marcelo Tosatti
2013-01-23 7:19 ` [PATCH v12 rebased 3/8] update kernel headers Hu Tao
2013-01-23 7:19 ` [PATCH v12 rebased 4/8] add a new runstate: RUN_STATE_GUEST_PANICKED Hu Tao
2013-01-23 7:19 ` [PATCH v12 rebased 5/8] add a new qevent: QEVENT_GUEST_PANICKED Hu Tao
2013-01-23 7:19 ` Hu Tao
2013-01-23 7:19 ` [PATCH v12 rebased 6/8] introduce a new qom device to deal with panicked event Hu Tao
2013-01-23 7:19 ` Hu Tao
2013-01-23 7:19 ` [PATCH v12 rebased 7/8] allower the user to disable pv event support Hu Tao
2013-01-23 7:19 ` [PATCH v12 rebased 8/8] pv event: add document to describe the usage Hu Tao
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=20130220081348.GC23246@localhost.localdomain \
--to=hutao@cn.fujitsu.com \
--cc=berrange@redhat.com \
--cc=blauwirbel@gmail.com \
--cc=drjones@redhat.com \
--cc=eblake@redhat.com \
--cc=gleb@redhat.com \
--cc=jan.kiszka@siemens.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=kvm@vger.kernel.org \
--cc=lcapitulino@redhat.com \
--cc=levinsasha928@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=wency@cn.fujitsu.com \
/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.