From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yuanhan Liu Subject: Re: [PATCH v3] vhost: fix driver unregister for client mode Date: Thu, 21 Jul 2016 21:18:32 +0800 Message-ID: <20160721131832.GJ28708@yliu-dev.sh.intel.com> References: <1469003563-27340-1-git-send-email-i.maximets@samsung.com> <1469105736-413-1-git-send-email-i.maximets@samsung.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: dev@dpdk.org, Huawei Xie , Dyasly Sergey , Heetae Ahn , Thomas Monjalon To: Ilya Maximets Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 592372C10 for ; Thu, 21 Jul 2016 15:14:25 +0200 (CEST) Content-Disposition: inline In-Reply-To: <1469105736-413-1-git-send-email-i.maximets@samsung.com> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Thu, Jul 21, 2016 at 03:55:36PM +0300, Ilya Maximets wrote: > Currently while calling of 'rte_vhost_driver_unregister()' connection > to QEMU will not be closed. This leads to inability to register driver > again and reconnect to same virtual machine. > > This scenario is reproducible with OVS. While executing of the following > command vhost port will be re-created (will be executed > 'rte_vhost_driver_register()' followed by 'rte_vhost_driver_unregister()') > network will be broken and QEMU possibly will crash: > > ovs-vsctl set Interface vhost1 ofport_request=15 > > Fix this by closing all established connections on driver unregister and > removing of pending connections from reconnection list. > > Fixes: 64ab701c3d1e ("vhost: add vhost-user client mode") > > Signed-off-by: Ilya Maximets > --- > > Version 3: > * fixed leak of file descriptors by adding of > 'close(reconn->fd)' to 'vhost_user_remove_reconnect()' > > Version 2: > * style fixes. Acked-by: Yuanhan Liu --yliu