On 09/09/2016 05:39 PM, Michael S. Tsirkin wrote:
On Fri, Sep 09, 2016 at 04:14:59PM +0200, Maxime Coquelin wrote:
> Currently, devices are plugged before features are negotiated.
> If the backend doesn't support VIRTIO_F_VERSION_1, the transport
> need to rewind some settings.
>
> This is the case for both PCI and CCW.
> For CCW, a post_plugged callback had been introduced, where
> max_rev field is just updated if VIRTIO_F_VERSION_1 is not
> supported by the backend.
> For PCI, implementing the post_plugged would be much more
> complicated, so the current fix consists in checking whether
> the backend supports VIRTIO_F_VERSION_1 in the backend.
>
> This patch propose to replace existing solutions with a common
> approach by negociating features before ->device_plugged() is
> called. A pre_plugged callback is introduced so that the
> transports can set their supported features.
>
> Cc: Cornelia Huck <cornelia.h...@de.ibm.com>
> Cc: Marcel Apfelbaum <mar...@redhat.com>
> Cc: Michael S. Tsirkin <m...@redhat.com>
> Signed-off-by: Maxime Coquelin <maxime.coque...@redhat.com>
Acked-by: Michael S. Tsirkin <m...@redhat.com>
Looks good - can you pls test and post a non-RFC?
Do you mean having this also in stable, or keeping
it based on top of former pci-only patch?
I already tested it for PCI, but cannot test it for CCW.
Thanks,
Maxime