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. Regards, Halil >> + return; >> + } >> + >> + tmp->simm = ais.simm; >> + tmp->nimm = ais.nimm; >> +} >> +