> -----Original Message----- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Jan Kiszka > Sent: Saturday, August 8, 2015 1:21 AM > To: dev at dpdk.org > Subject: [dpdk-dev] [PATCH] vchost: Notify application of ownership change
Vchost should be vhost in the title > > On VHOST_*_RESET_OWNER, we reinitialize the device but without telling > the application. That will cause crashes when it continues to invoke vhost > services on the device. Fix it by calling the destruction hook if the device > is > still in use. What's your qemu version? Any validation work on this patch? > > Signed-off-by: Jan Kiszka <jan.kiszka at siemens.com> > --- > > This is the surprisingly simple answer to my questions in > http://thread.gmane.org/gmane.comp.networking.dpdk.devel/22661. > > lib/librte_vhost/virtio-net.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/lib/librte_vhost/virtio-net.c b/lib/librte_vhost/virtio-net.c > index > b520ec5..3c5b5b2 100644 > --- a/lib/librte_vhost/virtio-net.c > +++ b/lib/librte_vhost/virtio-net.c > @@ -402,6 +402,9 @@ reset_owner(struct vhost_device_ctx ctx) > > ll_dev = get_config_ll_entry(ctx); > > + if ((ll_dev->dev.flags & VIRTIO_DEV_RUNNING)) > + notify_ops->destroy_device(&ll_dev->dev); > + I am not sure whether destroy_device here will affect the second time init_device(below) and new_device(after the reset) or not. Need validation. > cleanup_device(&ll_dev->dev); > init_device(&ll_dev->dev); > > -- > 2.1.4