On 6/13/21 12:26 PM, Mark Cave-Ayland wrote: > Commit 4e78f3bf35 "esp: defer command completion interrupt on incoming data > transfers" added a version check for use with VMSTATE_*_TEST macros to allow > migration from older QEMU versions. Unfortunately the version check fails to > work in its current form since if the VMStateDescription version_id is > incremented, the test returns false and so the fields are not included in the > outgoing migration stream. > > Change the version check to use >= rather == to ensure that migration works > correctly when the ESPState VMStateDescription has version_id > 5. > > Signed-off-by: Mark Cave-Ayland <mark.cave-ayl...@ilande.co.uk> > Fixes: 4e78f3bf35 ("esp: defer command completion interrupt on incoming data > transfers") > --- Well, it is not buggy yet :)
> hw/scsi/esp.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/scsi/esp.c b/hw/scsi/esp.c > index bfdb94292b..39756ddd99 100644 > --- a/hw/scsi/esp.c > +++ b/hw/scsi/esp.c > @@ -1120,7 +1120,7 @@ static bool esp_is_version_5(void *opaque, int > version_id) Can you rename esp_is_at_least_version_5()? > ESPState *s = ESP(opaque); > > version_id = MIN(version_id, s->mig_version_id); > - return version_id == 5; > + return version_id >= 5; > } > > int esp_pre_save(void *opaque) >