diff options
author | Dr. David Alan Gilbert | 2017-09-25 13:29:12 +0200 |
---|---|---|
committer | Dr. David Alan Gilbert | 2017-09-27 12:35:59 +0200 |
commit | 44b1ff319c4781c7ab13f7e119b3114a1e6a52e2 (patch) | |
tree | b8e8aa9c74c890808876e7a5969b69ac25c1930a /hw/s390x/css.c | |
parent | migration: disable auto-converge during bulk block migration (diff) | |
download | qemu-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.c | 10 |
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) |