* [Qemu-devel] [PATCH] mptsas: really fix migration compatibility
@ 2016-08-02 10:34 Paolo Bonzini
2016-08-02 11:05 ` Cao jin
0 siblings, 1 reply; 2+ messages in thread
From: Paolo Bonzini @ 2016-08-02 10:34 UTC (permalink / raw)
To: qemu-devel
Cc: Markus Armbruster, Marcel Apfelbaum, Michael S . Tsirkin,
Amit Shah, Cao jin
Commit 2e2aa316 removed internal flag msi_in_use, but it
existed in vmstate. Restore it for migration to older QEMU
versions.
Reported-by: Amit Shah <amit.shah@redhat.com>
Suggested-by: Amit Shah <amit.shah@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>
Cc: Marcel Apfelbaum <marcel@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Amit Shah <amit.shah@redhat.com>
Cc: Cao jin <caoj.fnst@cn.fujitsu.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
hw/scsi/mptsas.c | 4 +++-
hw/scsi/mptsas.h | 2 ++
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/hw/scsi/mptsas.c b/hw/scsi/mptsas.c
index bebe513..0e0a22f 100644
--- a/hw/scsi/mptsas.c
+++ b/hw/scsi/mptsas.c
@@ -1295,6 +1295,8 @@ static void mptsas_scsi_init(PCIDevice *dev, Error **errp)
/* With msi=auto, we fall back to MSI off silently */
error_free(err);
+ /* Only used for migration. */
+ s->msi_in_use = (ret == 0);
}
memory_region_init_io(&s->mmio_io, OBJECT(s), &mptsas_mmio_ops, s,
@@ -1370,7 +1372,7 @@ static const VMStateDescription vmstate_mptsas = {
.post_load = mptsas_post_load,
.fields = (VMStateField[]) {
VMSTATE_PCI_DEVICE(dev, MPTSASState),
- VMSTATE_UNUSED(sizeof(bool)), /* Was msi_in_use */
+ VMSTATE_BOOL(msi_in_use, MPTSASState),
VMSTATE_UINT32(state, MPTSASState),
VMSTATE_UINT8(who_init, MPTSASState),
VMSTATE_UINT8(doorbell_state, MPTSASState),
diff --git a/hw/scsi/mptsas.h b/hw/scsi/mptsas.h
index da014a3..0436a33 100644
--- a/hw/scsi/mptsas.h
+++ b/hw/scsi/mptsas.h
@@ -31,6 +31,8 @@ struct MPTSASState {
OnOffAuto msi;
uint64_t sas_addr;
+ bool msi_in_use;
+
/* Doorbell register */
uint32_t state;
uint8_t who_init;
--
2.7.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Qemu-devel] [PATCH] mptsas: really fix migration compatibility
2016-08-02 10:34 [Qemu-devel] [PATCH] mptsas: really fix migration compatibility Paolo Bonzini
@ 2016-08-02 11:05 ` Cao jin
0 siblings, 0 replies; 2+ messages in thread
From: Cao jin @ 2016-08-02 11:05 UTC (permalink / raw)
To: Paolo Bonzini, qemu-devel
Cc: Markus Armbruster, Marcel Apfelbaum, Michael S . Tsirkin,
Amit Shah
On 08/02/2016 06:34 PM, Paolo Bonzini wrote:
> Commit 2e2aa316 removed internal flag msi_in_use, but it
> existed in vmstate. Restore it for migration to older QEMU
> versions.
>
> Reported-by: Amit Shah <amit.shah@redhat.com>
> Suggested-by: Amit Shah <amit.shah@redhat.com>
> Cc: Markus Armbruster <armbru@redhat.com>
> Cc: Marcel Apfelbaum <marcel@redhat.com>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Michael S. Tsirkin <mst@redhat.com>
> Cc: Amit Shah <amit.shah@redhat.com>
> Cc: Cao jin <caoj.fnst@cn.fujitsu.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> hw/scsi/mptsas.c | 4 +++-
> hw/scsi/mptsas.h | 2 ++
> 2 files changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/hw/scsi/mptsas.c b/hw/scsi/mptsas.c
> index bebe513..0e0a22f 100644
> --- a/hw/scsi/mptsas.c
> +++ b/hw/scsi/mptsas.c
> @@ -1295,6 +1295,8 @@ static void mptsas_scsi_init(PCIDevice *dev, Error **errp)
> /* With msi=auto, we fall back to MSI off silently */
> error_free(err);
>
> + /* Only used for migration. */
> + s->msi_in_use = (ret == 0);
> }
>
> memory_region_init_io(&s->mmio_io, OBJECT(s), &mptsas_mmio_ops, s,
> @@ -1370,7 +1372,7 @@ static const VMStateDescription vmstate_mptsas = {
> .post_load = mptsas_post_load,
> .fields = (VMStateField[]) {
> VMSTATE_PCI_DEVICE(dev, MPTSASState),
> - VMSTATE_UNUSED(sizeof(bool)), /* Was msi_in_use */
> + VMSTATE_BOOL(msi_in_use, MPTSASState),
> VMSTATE_UINT32(state, MPTSASState),
> VMSTATE_UINT8(who_init, MPTSASState),
> VMSTATE_UINT8(doorbell_state, MPTSASState),
> diff --git a/hw/scsi/mptsas.h b/hw/scsi/mptsas.h
> index da014a3..0436a33 100644
> --- a/hw/scsi/mptsas.h
> +++ b/hw/scsi/mptsas.h
> @@ -31,6 +31,8 @@ struct MPTSASState {
> OnOffAuto msi;
> uint64_t sas_addr;
>
> + bool msi_in_use;
> +
> /* Doorbell register */
> uint32_t state;
> uint8_t who_init;
>
Thanks for saving my mistake.
Just FYI: there is a superfluous newline in mptsas_scsi_init() made by
me, maybe is handy to remove.
--
Yours Sincerely,
Cao jin
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-08-02 10:57 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-08-02 10:34 [Qemu-devel] [PATCH] mptsas: really fix migration compatibility Paolo Bonzini
2016-08-02 11:05 ` Cao jin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).