summaryrefslogtreecommitdiffstats
path: root/hw/s390x/css.c
diff options
context:
space:
mode:
authorDr. David Alan Gilbert2017-09-25 13:29:12 +0200
committerDr. David Alan Gilbert2017-09-27 12:35:59 +0200
commit44b1ff319c4781c7ab13f7e119b3114a1e6a52e2 (patch)
treeb8e8aa9c74c890808876e7a5969b69ac25c1930a /hw/s390x/css.c
parentmigration: disable auto-converge during bulk block migration (diff)
downloadqemu-44b1ff319c4781c7ab13f7e119b3114a1e6a52e2.tar.gz
qemu-44b1ff319c4781c7ab13f7e119b3114a1e6a52e2.tar.xz
qemu-44b1ff319c4781c7ab13f7e119b3114a1e6a52e2.zip
migration: pre_save return int
Modify the pre_save method on VMStateDescription to return an int rather than void so that it potentially can fail. Changed zillions of devices to make them return 0; the only case I've made it return non-0 is hw/intc/s390_flic_kvm.c that already had an error_report/return case. Note: If you add an error exit in your pre_save you must emit an error_report to say why. Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-Id: <20170925112917.21340-2-dgilbert@redhat.com> Reviewed-by: Peter Xu <peterx@redhat.com> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'hw/s390x/css.c')
-rw-r--r--hw/s390x/css.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/hw/s390x/css.c b/hw/s390x/css.c
index 75d4f301fb..c59be1aad1 100644
--- a/hw/s390x/css.c
+++ b/hw/s390x/css.c
@@ -196,7 +196,7 @@ static const VMStateDescription vmstate_schdev_orb = {
};
static int subch_dev_post_load(void *opaque, int version_id);
-static void subch_dev_pre_save(void *opaque);
+static int subch_dev_pre_save(void *opaque);
const char err_hint_devno[] = "Devno mismatch, tried to load wrong section!"
" Likely reason: some sequences of plug and unplug can break"
@@ -249,7 +249,7 @@ static int post_load_ind_addr(void *opaque, int version_id)
return 0;
}
-static void pre_save_ind_addr(void *opaque)
+static int pre_save_ind_addr(void *opaque)
{
IndAddrPtrTmp *ptmp = opaque;
IndAddr *ind_addr = *(ptmp->parent);
@@ -261,6 +261,8 @@ static void pre_save_ind_addr(void *opaque)
ptmp->len = 0;
ptmp->addr = 0L;
}
+
+ return 0;
}
const VMStateDescription vmstate_ind_addr_tmp = {
@@ -358,12 +360,14 @@ static ChannelSubSys channel_subsys = {
QTAILQ_HEAD_INITIALIZER(channel_subsys.indicator_addresses),
};
-static void subch_dev_pre_save(void *opaque)
+static int subch_dev_pre_save(void *opaque)
{
SubchDev *s = opaque;
/* Prepare remote_schid for save */
s->migrated_schid = s->schid;
+
+ return 0;
}
static int subch_dev_post_load(void *opaque, int version_id)