qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH/s390-next 3/3] s390x/flic: migrate ais states


From: Dr. David Alan Gilbert
Subject: Re: [Qemu-devel] [PATCH/s390-next 3/3] s390x/flic: migrate ais states
Date: Thu, 13 Jul 2017 15:49:41 +0100
User-agent: Mutt/1.8.3 (2017-05-23)

* Halil Pasic (address@hidden) wrote:
> 
> 
> On 07/13/2017 02:27 PM, Cornelia Huck wrote:
> >> +static void kvm_flic_ais_pre_save(void *opaque)
> >> +{
> >> +    KVMS390FLICStateMigTmp *tmp = opaque;
> >> +    KVMS390FLICState *flic = tmp->parent;
> >> +    struct kvm_s390_ais_all ais;
> >> +    struct kvm_device_attr attr = {
> >> +        .group = KVM_DEV_FLIC_AISM_ALL,
> >> +        .addr = (uint64_t)&ais,
> >> +        .attr = sizeof(ais),
> >> +    };
> >> +
> >> +    if (ioctl(flic->fd, KVM_GET_DEVICE_ATTR, &attr)) {
> >> +        error_report("Failed to retrieve kvm flic ais states");
> > There's not much else we can do in that case, is there?
> > 
> 
> I think this is a very good question! The ioctl should not fail
> under any circumstances, but if it does we have a problem.
> 
> Carrying on happily (what we do now) means effectively discarding
> ais state. In general just discarding state ain't a good idea.
> 
> In particular it might be OK, but the patch should explain that!
> 
> Regarding what could/should we do in such a case (instead
> of discarding state and carrying on happily) I don't know, so
> I tend to agree with you regarding 'not much else we can do'.
> 
> Adding Dave and Juan. Maybe they can tell.

I keep meaning to make the pre_save give a return value for failure,
but it hasn't currently got one.

You could try something like:

  qemu_file_set_error(migrate_get_current()->to_dst_file, -EINVAL);

  I *think* the migration code should spot that before it finishes
but it might carry on for a little while before it does.

Dave

> Regards,
> Halil
> 
> >> +        return;
> >> +    }
> >> +
> >> +    tmp->simm = ais.simm;
> >> +    tmp->nimm = ais.nimm;
> >> +}
> >> +
> 
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK



reply via email to

[Prev in Thread] Current Thread [Next in Thread]