Message ID | 87a8iombnh.fsf@dusky.pond.sub.org |
---|---|
State | New |
Headers | show |
On 06/14/2016 04:12 PM, Markus Armbruster wrote: > "Michael S. Tsirkin" <mst@redhat.com> writes: > >>> @@ -1222,7 +1215,6 @@ static const VMStateDescription vmstate_pvscsi = { >>> VMSTATE_STRUCT_TEST(parent_obj, PVSCSIState, >>> pvscsi_vmstate_test_pci_device, 0, >>> vmstate_pci_device, PCIDevice), >>> - VMSTATE_UINT8(msi_used, PVSCSIState), >>> VMSTATE_UINT32(resetting, PVSCSIState), >>> VMSTATE_UINT64(reg_interrupt_status, PVSCSIState), >>> VMSTATE_UINT64(reg_interrupt_enabled, PVSCSIState), >> >> >> This change will break cross-version migration, we can't make it. > > Oww, sorry I missed this! > > The value shouldn't have been put into the migration stream, but now > it's there, we need to keep it there. Suggest: > Thanks, will collect these in next version. > > diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c > index ecd6077..edd91ec 100644 > --- a/hw/scsi/vmw_pvscsi.c > +++ b/hw/scsi/vmw_pvscsi.c > @@ -121,7 +121,7 @@ typedef struct { > uint8_t msg_ring_info_valid; /* Whether message ring initialized */ > uint8_t use_msg; /* Whether to use message ring */ > > - uint8_t msi_used; /* Whether MSI support was installed successfully */ > + uint8_t msi_used; /* For migration compatibility */ > > PVSCSIRingInfo rings; /* Data transfer rings manager */ > uint32_t resetting; /* Reset in progress */ > @@ -362,7 +362,7 @@ pvscsi_update_irq_status(PVSCSIState *s) > trace_pvscsi_update_irq_level(should_raise, s->reg_interrupt_enabled, > s->reg_interrupt_status); > > - if (s->msi_used && msi_enabled(d)) { > + if (msi_enabled(d)) { > if (should_raise) { > trace_pvscsi_update_irq_msi(); > msi_notify(d, PVSCSI_VECTOR_COMPLETION); > @@ -1077,9 +1077,7 @@ pvscsi_cleanup_msi(PVSCSIState *s) > { > PCIDevice *d = PCI_DEVICE(s); > > - if (s->msi_used) { > - msi_uninit(d); > - } > + msi_uninit(d); > } > > static const MemoryRegionOps pvscsi_ops = { > > > > . >
diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c index ecd6077..edd91ec 100644 --- a/hw/scsi/vmw_pvscsi.c +++ b/hw/scsi/vmw_pvscsi.c @@ -121,7 +121,7 @@ typedef struct { uint8_t msg_ring_info_valid; /* Whether message ring initialized */ uint8_t use_msg; /* Whether to use message ring */ - uint8_t msi_used; /* Whether MSI support was installed successfully */ + uint8_t msi_used; /* For migration compatibility */ PVSCSIRingInfo rings; /* Data transfer rings manager */ uint32_t resetting; /* Reset in progress */ @@ -362,7 +362,7 @@ pvscsi_update_irq_status(PVSCSIState *s) trace_pvscsi_update_irq_level(should_raise, s->reg_interrupt_enabled, s->reg_interrupt_status); - if (s->msi_used && msi_enabled(d)) { + if (msi_enabled(d)) { if (should_raise) { trace_pvscsi_update_irq_msi(); msi_notify(d, PVSCSI_VECTOR_COMPLETION); @@ -1077,9 +1077,7 @@ pvscsi_cleanup_msi(PVSCSIState *s) { PCIDevice *d = PCI_DEVICE(s); - if (s->msi_used) { - msi_uninit(d); - } + msi_uninit(d); } static const MemoryRegionOps pvscsi_ops = {