On 08.02.23 16:57, Juan Quintela wrote:
Once that res_compatible is removed, they don't make sense anymore.

Signed-off-by: Juan Quintela <quint...@redhat.com>
---
  include/migration/register.h   | 18 ++++++++----------
  migration/savevm.h             |  8 ++++----
  hw/s390x/s390-stattrib.c       |  7 +++----
  hw/vfio/migration.c            | 10 ++++------
  migration/block-dirty-bitmap.c |  6 +++---
  migration/block.c              |  7 +++----
  migration/ram.c                | 18 ++++++++----------
  migration/savevm.c             | 24 ++++++++++--------------
  8 files changed, 43 insertions(+), 55 deletions(-)

diff --git a/include/migration/register.h b/include/migration/register.h
index a958a92a0f..4a4a6d7174 100644
--- a/include/migration/register.h
+++ b/include/migration/register.h
@@ -47,22 +47,20 @@ typedef struct SaveVMHandlers {
      /* This runs outside the iothread lock!  */
      int (*save_setup)(QEMUFile *f, void *opaque);
      /* Note for save_live_pending:
-     * - res_precopy_only is for data which must be migrated in precopy phase
+     * - res_precopy is for data which must be migrated in precopy phase
       *     or in stopped state, in other words - before target vm start
-     * - res_postcopy_only is for data which must be migrated in postcopy phase
+     * - res_postcopy is for data which must be migrated in postcopy phase
       *     or in stopped state, in other words - after source vm stop


That's now wrong. "postcopy" is everything except "precopy", as it includes 
"compat". Really, for RAM, it can be copied in precopy too, and it is copied in precopy until user 
run command migrate-start-postcopy. (In contrast: block-dirty-bitmap cannot migrate in precopy at all, it 
migrate only in stopped state or in postcopy).

So, finally:

"precopy"

  definition:
  - must be migrated in precopy or in stopped state
  - in other words: must be migrated before target start
  - in other words: can't be migrated in postcopy
  - in other words: can't be migrated after target start

"postcopy"

  definition:
  - can migrate in postcopy
  - in other words: can migrate after target start
some properties:
  - probably can be migrated in precopy (like RAM), or, may be not (like 
block-dirty-bitmap)
  - of course, can be migrated in stopped state


To be absolutely clear, we may rename them to "not_postcopyable" and 
"postcopyable".


--
Best regards,
Vladimir


Reply via email to