On Fri, Oct 03, 2014 at 06:47:30PM +0100, Dr. David Alan Gilbert (git) wrote:
> From: "Dr. David Alan Gilbert" <dgilb...@redhat.com>
> 
> Use that to split the qemu_savevm_state_pending counts into postcopiable
> and non-postcopiable amounts
> 
> Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com>
> ---
>  arch_init.c                 |  7 +++++++
>  include/migration/vmstate.h |  2 +-
>  include/sysemu/sysemu.h     |  4 +++-
>  migration.c                 |  9 ++++++++-
>  savevm.c                    | 23 +++++++++++++++++++----
>  5 files changed, 38 insertions(+), 7 deletions(-)
> 
> diff --git a/arch_init.c b/arch_init.c
> index 6970733..44072d8 100644
> --- a/arch_init.c
> +++ b/arch_init.c
> @@ -1192,6 +1192,12 @@ static int ram_load(QEMUFile *f, void *opaque, int 
> version_id)
>      return ret;
>  }
>  
> +/* RAM's always up for postcopying */
> +static bool ram_can_postcopy(void *opaque)
> +{
> +    return true;
> +}
> +
>  static SaveVMHandlers savevm_ram_handlers = {
>      .save_live_setup = ram_save_setup,
>      .save_live_iterate = ram_save_iterate,
> @@ -1199,6 +1205,7 @@ static SaveVMHandlers savevm_ram_handlers = {
>      .save_live_pending = ram_save_pending,
>      .load_state = ram_load,
>      .cancel = ram_migration_cancel,
> +    .can_postcopy = ram_can_postcopy,

Is there actually any plausible device for which you'd need a callback
here, rather than just having a static bool?

On the other hand, it does seem kind of plausible that there might be
situations in which some data from a device must be pre-copied, but
more can be post-copied, which would necessitate extending the
per-handler callback to return quantities for both.

-- 
David Gibson                    | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au  | minimalist, thank you.  NOT _the_ _other_
                                | _way_ _around_!
http://www.ozlabs.org/~dgibson

Attachment: pgp0vkHdSPXi7.pgp
Description: PGP signature

Reply via email to