Am 10.11.2015 um 15:25 schrieb Juan Quintela:
> From: "Dr. David Alan Gilbert" <[email protected]>
>
> The state of the postcopy process is managed via a series of messages;
> * Add wrappers and handlers for sending/receiving these messages
> * Add state variable that track the current state of postcopy
>
> Signed-off-by: Dr. David Alan Gilbert <[email protected]>
> Reviewed-by: Amit Shah <[email protected]>
> Reviewed-by: Juan Quintela <[email protected]>
> Signed-off-by: Juan Quintela <[email protected]>
> ---
> include/migration/migration.h | 27 +++++
> include/sysemu/sysemu.h | 19 ++++
> migration/migration.c | 20 ++++
> migration/savevm.c | 254
> ++++++++++++++++++++++++++++++++++++++++++
> trace-events | 10 ++
> 5 files changed, 330 insertions(+)
>
[...]
> diff --git a/migration/savevm.c b/migration/savevm.c
[...]
> + if (remote_hps != getpagesize()) {
> + /*
> + * Some combinations of mismatch are probably possible but it gets
> + * a bit more complicated. In particular we need to place whole
> + * host pages on the dest at once, and we need to ensure that we
> + * handle dirtying to make sure we never end up sending part of
> + * a hostpage on it's own.
> + */
> + error_report("Postcopy needs matching host page sizes (s=%d d=%d)",
> + (int)remote_hps, getpagesize());
This statement introduces a new warning when compiling for
Windows where getpagesize() returns a size_t. I'll send a patch
to change that definition to return an int value.
Is there a special reason why a type cast was used here
instead of using PRIu64? See also the format string below.
Regards
Stefan
> + return -1;
> + }
> +
> + remote_tps = qemu_get_be64(mis->from_src_file);
> + if (remote_tps != (1ul << qemu_target_page_bits())) {
> + /*
> + * Again, some differences could be dealt with, but for now keep it
> + * simple.
> + */
> + error_report("Postcopy needs matching target page sizes (s=%d d=%d)",
> + (int)remote_tps, 1 << qemu_target_page_bits());
>