[PATCH 00/17] hw/block/nvme: AIO and address mapping refactoring

Klaus Jensen posted 17 patches 1 week ago
Test FreeBSD passed
Test docker-quick@centos7 passed
Test checkpatch passed
Test docker-mingw@fedora passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20200629195017.1217056-1-its@irrelevant.dk
Maintainers: Max Reitz <mreitz@redhat.com>, Kevin Wolf <kwolf@redhat.com>, Fam Zheng <fam@euphon.net>, Keith Busch <kbusch@kernel.org>
block/nvme.c          |   4 +-
hw/block/nvme.c       | 834 ++++++++++++++++++++++++++++++------------
hw/block/nvme.h       | 104 +++++-
hw/block/trace-events |   7 +
include/block/nvme.h  |   4 +-
5 files changed, 699 insertions(+), 254 deletions(-)

[PATCH 00/17] hw/block/nvme: AIO and address mapping refactoring

Posted by Klaus Jensen 1 week ago
From: Klaus Jensen <k.jensen@samsung.com>

This series is based on "[PATCH 00/17] hw/block/nvme: bump to v1.3" and
mostly consists of patches that refactors and clean up dma/cmb address
mappings.

The "hw/block/nvme: allow multiple aios per command" patch does what it
says on the tin and is in preparation for metadata, dulbe, write
uncorrectable and any upcoming feature that requires additional
persistent state to be modified per command in an asynchronous manner.

Based-on: <20200629182642.1170387-1-its@irrelevant.dk>
([PATCH 00/17] hw/block/nvme: bump to v1.3)

Klaus Jensen (17):
  hw/block/nvme: memset preallocated requests structures
  hw/block/nvme: add mapping helpers
  hw/block/nvme: replace dma_acct with blk_acct equivalent
  hw/block/nvme: remove redundant has_sg member
  hw/block/nvme: refactor dma read/write
  hw/block/nvme: pass request along for tracing
  hw/block/nvme: add request mapping helper
  hw/block/nvme: verify validity of prp lists in the cmb
  hw/block/nvme: refactor request bounds checking
  hw/block/nvme: add check for mdts
  hw/block/nvme: be consistent about zeros vs zeroes
  hw/block/nvme: refactor NvmeRequest clearing
  hw/block/nvme: consolidate qsg/iov clearing
  hw/block/nvme: remove NvmeCmd parameter
  hw/block/nvme: allow multiple aios per command
  hw/block/nvme: add nvme_check_rw helper
  hw/block/nvme: use preallocated qsg/iov in nvme_dma_prp

 block/nvme.c          |   4 +-
 hw/block/nvme.c       | 834 ++++++++++++++++++++++++++++++------------
 hw/block/nvme.h       | 104 +++++-
 hw/block/trace-events |   7 +
 include/block/nvme.h  |   4 +-
 5 files changed, 699 insertions(+), 254 deletions(-)

-- 
2.27.0