From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
To: Cornelia Huck <cohuck@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
qemu-devel@nongnu.org, Stefano Garzarella <sgarzare@redhat.com>
Subject: Re: [PATCH v2] virtio: skip legacy support check on machine types less than 5.1
Date: Thu, 17 Sep 2020 11:00:00 +0100 [thread overview]
Message-ID: <20200917100000.GF2793@work-vm> (raw)
In-Reply-To: <20200917112256.796f620d.cohuck@redhat.com>
* Cornelia Huck (cohuck@redhat.com) wrote:
> On Thu, 17 Sep 2020 10:48:28 +0200
> Stefano Garzarella <sgarzare@redhat.com> wrote:
>
> > On Wed, Sep 16, 2020 at 11:08:48AM +0200, Cornelia Huck wrote:
> > > On Tue, 15 Sep 2020 15:05:14 +0200
> > > Stefano Garzarella <sgarzare@redhat.com> wrote:
> > >
> > > > Commit 9b3a35ec82 ("virtio: verify that legacy support is not accidentally
> > > > on") added a check that returns an error if legacy support is on, but the
> > > > device is not legacy.
> > > >
> > > > Unfortunately some devices were wrongly declared legacy even if they
> > > > were not (e.g vhost-vsock).
> > > >
> > > > To avoid migration issues, we disable this error for machine types < 5.1,
> > > > but we print a warning.
> > > >
> > > > Cc: qemu-stable@nongnu.org
> > > > Fixes: 9b3a35ec82 ("virtio: verify that legacy support is not accidentally on")
> > > > Suggested-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> > > > Suggested-by: Cornelia Huck <cohuck@redhat.com>
> > > > Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
> > > > ---
> > > > v2:
> > > > - fixed Cornelia's e-mail address
> > > > ---
> > > > include/hw/virtio/virtio.h | 1 +
> > > > hw/core/machine.c | 1 +
> > > > hw/virtio/virtio.c | 18 ++++++++++++++++--
> > > > 3 files changed, 18 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h
> > > > index 807280451b..ed7cee348b 100644
> > > > --- a/include/hw/virtio/virtio.h
> > > > +++ b/include/hw/virtio/virtio.h
> > > > @@ -103,6 +103,7 @@ struct VirtIODevice
> > > > bool use_started;
> > > > bool started;
> > > > bool start_on_kick; /* when virtio 1.0 feature has not been negotiated */
> > > > + bool disable_legacy_check;
> > > > VMChangeStateEntry *vmstate;
> > > > char *bus_name;
> > > > uint8_t device_endian;
> > > > diff --git a/hw/core/machine.c b/hw/core/machine.c
> > > > index ea26d61237..b686eab798 100644
> > > > --- a/hw/core/machine.c
> > > > +++ b/hw/core/machine.c
> > > > @@ -44,6 +44,7 @@ GlobalProperty hw_compat_5_0[] = {
> > > > { "vmport", "x-signal-unsupported-cmd", "off" },
> > > > { "vmport", "x-report-vmx-type", "off" },
> > > > { "vmport", "x-cmds-v2", "off" },
> > > > + { "virtio-device", "x-disable-legacy-check", "true" },
> > >
> > > Hm... not sure if we actually should add a new device property for
> > > that. Maybe we can use a flag in the base machine type instead?
> >
> > I am not very experienced with machine types.
> > I used the device property to easily access it from virtio devices.
> >
> > Please, can you give me some suggestions where to look for the flags?
>
> I was thinking about adding a new virtio_legacy_check flag into
> MachineClass to get a machine-wide config and avoid introducing a new
> config knob. The drawback is that every machine type supporting compat
> machines would need to take care about disabling the check in their
> 5.1-or-older machines themselves.
>
> Not sure what the preferable solution is; I'm not really opposed to
> your approach, though.
I think a device property is fine - they make it easy to add it to the
global compat list.
Dave
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
next prev parent reply other threads:[~2020-09-17 10:02 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-15 13:05 [PATCH v2] virtio: skip legacy support check on machine types less than 5.1 Stefano Garzarella
2020-09-16 7:32 ` Stefano Garzarella
2020-09-16 9:08 ` Cornelia Huck
2020-09-17 8:48 ` Stefano Garzarella
2020-09-17 9:22 ` Cornelia Huck
2020-09-17 10:00 ` Dr. David Alan Gilbert [this message]
2020-09-17 10:47 ` Stefano Garzarella
2020-09-17 11:00 ` Cornelia Huck
2020-09-17 12:09 ` Stefano Garzarella
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200917100000.GF2793@work-vm \
--to=dgilbert@redhat.com \
--cc=cohuck@redhat.com \
--cc=ehabkost@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=sgarzare@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.