qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v4 2/8] RunState: added two new flags for bitmap


From: Dr. David Alan Gilbert
Subject: Re: [Qemu-devel] [PATCH v4 2/8] RunState: added two new flags for bitmap dump and migration process
Date: Fri, 18 Jul 2014 12:02:05 +0100
User-agent: Mutt/1.5.23 (2014-03-12)

* Sanidhya Kashyap (address@hidden) wrote:
> Changed those files that were directly using the RUN_STATE_RUNNING flag. Now,
> they have been replaced by the runstate_is_running() function.

I've cc'd Gerd (aka kraxel) in since he's the USB maintainer.
(and those fixes look worth while irrespective of the rest of the patch).

> Signed-off-by: Sanidhya Kashyap <address@hidden>
> ---
>  hw/usb/hcd-ehci.c |  2 +-
>  hw/usb/redirect.c |  6 +++---
>  qapi-schema.json  |  7 ++++++-
>  vl.c              | 29 ++++++++++++++++++++++++++++-
>  4 files changed, 38 insertions(+), 6 deletions(-)
> 
> diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
> index a00a93c..5487edc 100644
> --- a/hw/usb/hcd-ehci.c
> +++ b/hw/usb/hcd-ehci.c
> @@ -2393,7 +2393,7 @@ static void usb_ehci_vm_state_change(void *opaque, int 
> running, RunState state)
>       * USB-devices which have async handled packages have a packet in the
>       * ep queue to match the completion with.
>       */
> -    if (state == RUN_STATE_RUNNING) {
> +    if (runstate_is_running()) {
>          ehci_advance_async_state(ehci);
>      }
>  
> diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
> index 44522d9..2c16ad5 100644
> --- a/hw/usb/redirect.c
> +++ b/hw/usb/redirect.c
> @@ -283,7 +283,7 @@ static int usbredir_write(void *priv, uint8_t *data, int 
> count)
>      }
>  
>      /* Don't send new data to the chardev until our state is fully synced */
> -    if (!runstate_check(RUN_STATE_RUNNING)) {
> +    if (!runstate_is_running()) {
>          return 0;
>      }
>  
> @@ -1290,7 +1290,7 @@ static int usbredir_chardev_can_read(void *opaque)
>      }
>  
>      /* Don't read new data from the chardev until our state is fully synced 
> */
> -    if (!runstate_check(RUN_STATE_RUNNING)) {
> +    if (!runstate_is_running()) {
>          return 0;
>      }
>  
> @@ -1340,7 +1340,7 @@ static void usbredir_vm_state_change(void *priv, int 
> running, RunState state)
>  {
>      USBRedirDevice *dev = priv;
>  
> -    if (state == RUN_STATE_RUNNING && dev->parser != NULL) {
> +    if (runstate_is_running() && dev->parser != NULL) {
>          usbredirparser_do_write(dev->parser); /* Flush any pending writes */
>      }
>  }
> diff --git a/qapi-schema.json b/qapi-schema.json
> index b11aad2..501b8d0 100644
> --- a/qapi-schema.json
> +++ b/qapi-schema.json
> @@ -145,12 +145,17 @@
>  # @watchdog: the watchdog action is configured to pause and has been 
> triggered
>  #
>  # @guest-panicked: guest has been panicked as a result of guest OS panic
> +#
> +# @migrate: migration process is being executed
> +#
> +# @dump-bitmap: dump the writable working set of the guest
> +#
>  ##
>  { 'enum': 'RunState',
>    'data': [ 'debug', 'inmigrate', 'internal-error', 'io-error', 'paused',
>              'postmigrate', 'prelaunch', 'finish-migrate', 'restore-vm',
>              'running', 'save-vm', 'shutdown', 'suspended', 'watchdog',
> -            'guest-panicked' ] }
> +            'guest-panicked', 'migrate', 'dump-bitmap' ] }
>  
>  ##
>  # @StatusInfo:
> diff --git a/vl.c b/vl.c
> index 6e084c2..30d6fb7 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -593,31 +593,39 @@ static const RunStateTransition 
> runstate_transitions_def[] = {
>      /*     from      ->     to      */
>      { RUN_STATE_DEBUG, RUN_STATE_RUNNING },
>      { RUN_STATE_DEBUG, RUN_STATE_FINISH_MIGRATE },
> +    { RUN_STATE_DEBUG, RUN_STATE_MIGRATE },
>  
>      { 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_FINISH_MIGRATE },
> +    { RUN_STATE_INTERNAL_ERROR, RUN_STATE_MIGRATE },

Are all of these new transitions really possible?

Dave
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK



reply via email to

[Prev in Thread] Current Thread [Next in Thread]