From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41073) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XgA8T-0000HN-4o for qemu-devel@nongnu.org; Mon, 20 Oct 2014 06:24:27 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XgA8N-0000An-0Z for qemu-devel@nongnu.org; Mon, 20 Oct 2014 06:24:21 -0400 Received: from mx1.redhat.com ([209.132.183.28]:7085) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XgA8M-0000AT-Q9 for qemu-devel@nongnu.org; Mon, 20 Oct 2014 06:24:14 -0400 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s9KAODfV001658 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL) for ; Mon, 20 Oct 2014 06:24:13 -0400 Date: Mon, 20 Oct 2014 11:24:09 +0100 From: "Dr. David Alan Gilbert" Message-ID: <20141020102408.GF2517@work-vm> References: <1413359710-2799-1-git-send-email-quintela@redhat.com> <1413359710-2799-3-git-send-email-quintela@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1413359710-2799-3-git-send-email-quintela@redhat.com> Subject: Re: [Qemu-devel] [PATCH 2/7] runstate: Add runstate store List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Juan Quintela Cc: kwolf@redhat.com, qemu-devel@nongnu.org, laine@redhat.com, lcapitulino@redhat.com * Juan Quintela (quintela@redhat.com) wrote: > This allows us to store the current state to send it through migration. Why store the runstate as a string? The later code then ends up doing string compares and things - why not just use the enum value? Dave > Signed-off-by: Juan Quintela > --- > include/sysemu/sysemu.h | 1 + > vl.c | 10 ++++++++++ > 2 files changed, 11 insertions(+) > > diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h > index d8539fd..ae217da 100644 > --- a/include/sysemu/sysemu.h > +++ b/include/sysemu/sysemu.h > @@ -28,6 +28,7 @@ bool runstate_check(RunState state); > void runstate_set(RunState new_state); > int runstate_is_running(void); > bool runstate_needs_reset(void); > +int runstate_store(char *str, int size); > typedef struct vm_change_state_entry VMChangeStateEntry; > typedef void VMChangeStateHandler(void *opaque, int running, RunState state); > > diff --git a/vl.c b/vl.c > index 964d634..ce8e28b 100644 > --- a/vl.c > +++ b/vl.c > @@ -677,6 +677,16 @@ bool runstate_check(RunState state) > return current_run_state == state; > } > > +int runstate_store(char *str, int size) > +{ > + const char *state = RunState_lookup[current_run_state]; > + > + if (strlen(state)+1 > size) > + return -1; > + strncpy(str, state, strlen(state)+1); > + return 0; > +} > + > static void runstate_init(void) > { > const RunStateTransition *p; > -- > 2.1.0 > > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK