On Tue, Jan 16, 2018 at 02:08:52PM +0800, Fam Zheng wrote: > v6: Fix the cleaning up around nvme_init() and write cache setup in > nvme_file_open(). [Stefan] > Add Stefan's rev-by to the doc patch. > Rebase on to Paolo's coroutine series for q->free_req_queue: > > Based-on: 20180115220822.10156-1-pbonz...@redhat.com > ([PATCH 0/4] coroutine-lock: polymorphic CoQueue) > > v5: Add Stefan's rev-bys. > Add Paolo's sob line. > Address Stefan's, Alex's and Eric's comments, including: > - Add PCI Bar MMIO offset/size parameter to VFIO utility API. [Alex] > - Fix various lock and memory leakings. [Stefan] > - Improve documentation. [Stefan] > - Add one missing "Since 2.12" in QAPI schema. [Eric] > - Fix locking of BDRVNVMeState->inflight. [Stefan] > - Add one missing endianness conversion for cmd.nsid. [Stefan] > - Use bdrv_get_aio_context() instead of qemu_get_current_aio_context(). > - When init, issue "Set Features" command to enable/disable volatile write > cache according to "flags & BDRV_O_NOCACHE". > > v4: - Rebase, address Stefan's comments. > - Add QAPI and doc patches. > > v3: Rebase, small tweaks/fixes and add locks to provide basic thread safety > (basic because it is not really tested). > > v2: > - Implement "split vfio addr space" appraoch. [Paolo] > - Add back 'device reset' in nvme_close(). [Paolo] > - Better variable namings. [Stefan] > - "Reuse" macro definitions from NVMe emulation code. > - Rebase onto current master which has polling by default and update > performance results accordingly. > - Update MAINTAINERS. > - Specify namespace in URI. > - The sporadical I/O error from v1 "disappeared" in this version. > - Tests one: qemu-img bench, fio, bonnie++ and installation of > ubuntu/fedora/rhel on QEMU emulated nvme and a Intel P3700 card. > > Fam Zheng (9): > stubs: Add stubs for ram block API > util: Introduce vfio helpers > block: Add VFIO based NVMe driver > block: Introduce buf register API > block/nvme: Implement .bdrv_(un)register_buf > qemu-img: Map bench buffer > block: Move NVMe constants to a separate header > docs: Add section for NVMe VFIO driver > qapi: Add NVMe driver options to the schema > > MAINTAINERS | 6 + > block/Makefile.objs | 1 + > block/block-backend.c | 10 + > block/io.c | 24 + > block/nvme.c | 1199 > ++++++++++++++++++++++++++++++++++++++++ > block/trace-events | 21 + > docs/qemu-block-drivers.texi | 37 ++ > hw/block/nvme.h | 698 +---------------------- > include/block/block.h | 11 +- > include/block/block_int.h | 9 + > include/block/nvme.h | 700 +++++++++++++++++++++++ > include/qemu/vfio-helpers.h | 33 ++ > include/sysemu/block-backend.h | 3 + > qapi/block-core.json | 17 +- > qemu-img.c | 9 +- > stubs/Makefile.objs | 1 + > stubs/ram-block.c | 16 + > util/Makefile.objs | 1 + > util/trace-events | 11 + > util/vfio-helpers.c | 726 ++++++++++++++++++++++++ > 20 files changed, 2833 insertions(+), 700 deletions(-) > create mode 100644 block/nvme.c > create mode 100644 include/block/nvme.h > create mode 100644 include/qemu/vfio-helpers.h > create mode 100644 stubs/ram-block.c > create mode 100644 util/vfio-helpers.c > > -- > 2.14.3 >
Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com>
signature.asc
Description: PGP signature