diff options
author | Peter Xu <peterx@redhat.com> | 2023-09-06 16:47:22 -0400 |
---|---|---|
committer | Juan Quintela <quintela@redhat.com> | 2023-10-04 13:19:47 +0200 |
commit | 579cedf430582b37f804f6b6ed131554cebb11b5 (patch) | |
tree | cb7b75f3c7a566e96060108046be15fe9213b499 /migration/trace-events | |
parent | 385f510df5f6a7f3998b3ff01deca33b0027ff29 (diff) |
migration: Unify and trace vmstate field_exists() checks
For both save/load we actually share the logic on deciding whether a field
should exist. Merge the checks into a helper and use it for both save and
load. When doing so, add documentations and reformat the code to make it
much easier to read.
The real benefit here (besides code cleanups) is we add a trace-point for
this; this is a known spot where we can easily break migration
compatibilities between binaries, and this trace point will be critical for
us to identify such issues.
For example, this will be handy when debugging things like:
https://gitlab.com/qemu-project/qemu/-/issues/932
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20230906204722.514474-1-peterx@redhat.com>
Diffstat (limited to 'migration/trace-events')
-rw-r--r-- | migration/trace-events | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/migration/trace-events b/migration/trace-events index 3e9649ab2a..002abe3a4e 100644 --- a/migration/trace-events +++ b/migration/trace-events @@ -66,6 +66,7 @@ vmstate_save_state_loop(const char *name, const char *field, int n_elems) "%s/%s vmstate_save_state_top(const char *idstr) "%s" vmstate_subsection_save_loop(const char *name, const char *sub) "%s/%s" vmstate_subsection_save_top(const char *idstr) "%s" +vmstate_field_exists(const char *vmsd, const char *name, int field_version, int version, int result) "%s:%s field_version %d version %d result %d" # vmstate-types.c get_qtailq(const char *name, int version_id) "%s v%d" |