Am 10.11.2015 um 15:25 schrieb Juan Quintela: > From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> > > 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 <dgilb...@redhat.com> > Reviewed-by: Amit Shah <amit.s...@redhat.com> > Reviewed-by: Juan Quintela <quint...@redhat.com> > Signed-off-by: Juan Quintela <quint...@redhat.com> > --- > 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()); >