migration: Report values for comparisons

Report the values when a comparison fails; together with
the previous patch that prints the device and field names
this should give a good idea of why loading the migration failed.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
Dr. David Alan Gilbert 2016-09-27 19:56:05 +01:00 committed by Juan Quintela
parent a1771070e7
commit 49228e17ed
1 changed files with 8 additions and 0 deletions

View File

@ -557,6 +557,7 @@ static int get_int32_equal(QEMUFile *f, void *pv, size_t size)
if (*v == v2) {
return 0;
}
error_report("%" PRIx32 " != %" PRIx32, *v, v2);
return -EINVAL;
}
@ -580,6 +581,9 @@ static int get_int32_le(QEMUFile *f, void *pv, size_t size)
*cur = loaded;
return 0;
}
error_report("Invalid value %" PRId32
" expecting positive value <= %" PRId32,
loaded, *cur);
return -EINVAL;
}
@ -685,6 +689,7 @@ static int get_uint32_equal(QEMUFile *f, void *pv, size_t size)
if (*v == v2) {
return 0;
}
error_report("%" PRIx32 " != %" PRIx32, *v, v2);
return -EINVAL;
}
@ -727,6 +732,7 @@ static int get_uint64_equal(QEMUFile *f, void *pv, size_t size)
if (*v == v2) {
return 0;
}
error_report("%" PRIx64 " != %" PRIx64, *v, v2);
return -EINVAL;
}
@ -748,6 +754,7 @@ static int get_uint8_equal(QEMUFile *f, void *pv, size_t size)
if (*v == v2) {
return 0;
}
error_report("%x != %x", *v, v2);
return -EINVAL;
}
@ -769,6 +776,7 @@ static int get_uint16_equal(QEMUFile *f, void *pv, size_t size)
if (*v == v2) {
return 0;
}
error_report("%x != %x", *v, v2);
return -EINVAL;
}