From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:36962) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gi0Xc-0003OP-UP for qemu-devel@nongnu.org; Fri, 11 Jan 2019 12:24:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gi0Xb-0006Ah-2x for qemu-devel@nongnu.org; Fri, 11 Jan 2019 12:24:20 -0500 Received: from mx1.redhat.com ([209.132.183.28]:33542) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gi0Xa-0006A2-Sr for qemu-devel@nongnu.org; Fri, 11 Jan 2019 12:24:19 -0500 Date: Fri, 11 Jan 2019 12:24:00 -0500 From: "Michael S. Tsirkin" Message-ID: <20190111122047-mutt-send-email-mst@kernel.org> References: <20190109112728.9214-1-xieyongji@baidu.com> <20190110102551.GD19025@stefanha-x1.localdomain> <20190111155342.GA14776@stefanha-x1.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190111155342.GA14776@stefanha-x1.localdomain> Subject: Re: [Qemu-devel] [PATCH v4 for-4.0 0/7] vhost-user-blk: Add support for backend reconnecting List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: Yongji Xie , =?iso-8859-1?Q?Marc-Andr=E9?= Lureau , Daniel =?iso-8859-1?Q?P=2E_Berrang=E9?= , Jason Wang , "Coquelin, Maxime" , Yury Kotov , =?utf-8?B?0JXQstCz0LXQvdC40Lkg0K/QutC+0LLQu9C10LI=?= , nixun@baidu.com, qemu-devel , lilin24@baidu.com, zhangyu31@baidu.com, chaiwen@baidu.com, Xie Yongji On Fri, Jan 11, 2019 at 03:53:42PM +0000, Stefan Hajnoczi wrote: > I'm concerned that this approach to device recovery is invasive and hard > to test. Instead I would use VIRTIO's Device Status Field > DEVICE_NEEDS_RESET bit to tell the guest driver that a reset is > necessary. This is more disruptive - drivers either have to resubmit or > fail I/O with EIO - but it's also simple and more likely to work > correctly (it only needs to be implemented correctly in the guest > driver, not in the many available vhost-user backend implementations). > > Stefan Unfortunately drivers don't support DEVICE_NEEDS_RESET yet. I'll be happy to accept patches, but this means we can't depend on DEVICE_NEEDS_RESET for basic functionality like reconnect. And given virtio 1.0 has been there for a while now, I suspect the only way to start using it is by adding a new feature flag. Unfortunate but true. -- MST