From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47903) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eZplC-0008Kj-IR for qemu-devel@nongnu.org; Thu, 11 Jan 2018 22:12:03 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eZplB-0002BB-Ly for qemu-devel@nongnu.org; Thu, 11 Jan 2018 22:12:02 -0500 Date: Fri, 12 Jan 2018 11:11:51 +0800 From: Fam Zheng Message-ID: <20180112031151.GD29151@lemon.usersys.redhat.com> References: <20180110091846.10699-1-famz@redhat.com> <20180110091846.10699-4-famz@redhat.com> <51927002-e1b5-6bd0-2ebd-5270d6153339@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <51927002-e1b5-6bd0-2ebd-5270d6153339@redhat.com> Subject: Re: [Qemu-devel] [PATCH v4 3/9] block: Add VFIO based NVMe driver List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake Cc: qemu-devel@nongnu.org, Kevin Wolf , qemu-block@nongnu.org, Markus Armbruster , Max Reitz , Keith Busch , Stefan Hajnoczi , Paolo Bonzini , Karl Rister On Wed, 01/10 08:44, Eric Blake wrote: > On 01/10/2018 03:18 AM, Fam Zheng wrote: > > This is a new protocol driver that exclusively opens a host NVMe > > controller through VFIO. It achieves better latency than linux-aio by > > completely bypassing host kernel vfs/block layer. > > > > > +static BlockDriver bdrv_nvme = { > > + .format_name = "nvme", > > + .protocol_name = "nvme", > > + .instance_size = sizeof(BDRVNVMeState), > > + > > + .bdrv_parse_filename = nvme_parse_filename, > > + .bdrv_file_open = nvme_file_open, > > + .bdrv_close = nvme_close, > > + .bdrv_getlength = nvme_getlength, > > + > > + .bdrv_co_preadv = nvme_co_preadv, > > + .bdrv_co_pwritev = nvme_co_pwritev, > > + .bdrv_co_flush_to_disk = nvme_co_flush, > > + .bdrv_reopen_prepare = nvme_reopen_prepare, > > + > > + .bdrv_co_get_block_status = nvme_co_get_block_status, > > Semantic conflict with my pending patches to switch to byte-based block > status in the drivers. Should be very easy to rebase for either of us. :) Fam