aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCollin L. Walling <walling@linux.vnet.ibm.com>2017-10-04 12:57:51 +0200
committerCornelia Huck <cohuck@redhat.com>2017-10-06 10:53:02 +0200
commit28f8dbe85db3d28f0ecddb48c072533fe58a70ea (patch)
tree26f4669048f1794ab2ac3090fc5875b091b7cf49
parent7edd4a4967536f9e1a6474223e824049a13dd39c (diff)
downloadqemu-28f8dbe85db3d28f0ecddb48c072533fe58a70ea.zip
qemu-28f8dbe85db3d28f0ecddb48c072533fe58a70ea.tar.gz
qemu-28f8dbe85db3d28f0ecddb48c072533fe58a70ea.tar.bz2
s390/kvm: make TOD setting failures fatal for migration
If we fail to set a proper TOD clock on the target system, this can already result in some problematic cases. We print several warn messages on source and target in that case. If kvm fails to set a nonzero epoch index, then we must ultimately fail the migration as this will result in a giant time leap backwards. This patch lets the migration fail if we can not set the guest time on the target. On failure the guest will resume normally on the original host machine. Signed-off-by: Collin L. Walling <walling@linux.vnet.ibm.com> Reviewed-by: Eric Farman <farman@linux.vnet.ibm.com> Reviewed-by: Claudio Imbrenda <imbrenda@linux.vnet.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> [split failure change from epoch index change, minor fixups] Message-Id: <20171004105751.24655-3-borntraeger@de.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
-rw-r--r--hw/s390x/s390-virtio-ccw.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 76156ce..32d3f11 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -189,13 +189,10 @@ static int gtod_load(QEMUFile *f, void *opaque, int version_id)
r = s390_set_clock(&tod_high, &tod_low);
if (r) {
- warn_report("Unable to set guest clock for migration: %s",
- strerror(-r));
- error_printf("Guest clock will not be restored "
- "which could cause the guest to hang.");
+ error_report("Unable to set KVM guest TOD clock: %s", strerror(-r));
}
- return 0;
+ return r;
}
static SaveVMHandlers savevm_gtod = {