From: Klaus Jensen <k.jen...@samsung.com> Hi,
So this patchset kinda blew up in size (wrt. number of patches) after Maxim's comments (26 -> 42), but Maxim's comments about splitting up a bunch of the patches made a lot of sense. v6 primarily splits up the big nasty patches into more digestible parts. Specifically the 'nvme: refactor prp mapping' and 'nvme: allow multiple aios per command' patches has been split up according to Maxim's comments. Most additions to the shared include/block/nvme.h has also been consolidated into a single patch (also according to Maxim's comments). A lot of the patches still carries a 'Reviewed-By', but git-backport-diff reports some changes due to changes/additions in some of the early patches. The only real "addition" is a new "max_ioqpairs" parameter for the device. This is to fix some confusion about the current "num_queues" parameter. See "nvme: add max_ioqpairs device parameter". Maxim, I responded to your comments in the original thread and I believe that all your comments has been adressed. Also, I *did* change the line indentation style - I hope I caught 'em all :) Klaus Jensen (42): nvme: rename trace events to nvme_dev nvme: remove superfluous breaks nvme: move device parameters to separate struct nvme: bump spec data structures to v1.3 nvme: use constant for identify data size nvme: add identify cns values in header nvme: refactor nvme_addr_read nvme: add support for the abort command nvme: add max_ioqpairs device parameter nvme: refactor device realization nvme: add temperature threshold feature nvme: add support for the get log page command nvme: add support for the asynchronous event request command nvme: add missing mandatory features nvme: additional tracing nvme: make sure ncqr and nsqr is valid nvme: add log specific field to trace events nvme: support identify namespace descriptor list nvme: enforce valid queue creation sequence nvme: provide the mandatory subnqn field nvme: bump supported version to v1.3 nvme: memset preallocated requests structures nvme: add mapping helpers nvme: remove redundant has_sg member nvme: refactor dma read/write nvme: pass request along for tracing nvme: add request mapping helper nvme: verify validity of prp lists in the cmb nvme: refactor request bounds checking nvme: add check for mdts nvme: add check for prinfo nvme: allow multiple aios per command nvme: use preallocated qsg/iov in nvme_dma_prp pci: pass along the return value of dma_memory_rw nvme: handle dma errors nvme: add support for scatter gather lists nvme: refactor identify active namespace id list nvme: support multiple namespaces pci: allocate pci id for nvme nvme: change controller pci id nvme: remove redundant NvmeCmd pointer parameter nvme: make lba data size configurable MAINTAINERS | 1 + block/nvme.c | 18 +- docs/specs/nvme.txt | 25 + docs/specs/pci-ids.txt | 1 + hw/block/Makefile.objs | 2 +- hw/block/nvme-ns.c | 162 ++++ hw/block/nvme-ns.h | 62 ++ hw/block/nvme.c | 2041 ++++++++++++++++++++++++++++++++-------- hw/block/nvme.h | 205 +++- hw/block/trace-events | 206 ++-- hw/core/machine.c | 1 + include/block/nvme.h | 178 +++- include/hw/pci/pci.h | 4 +- 13 files changed, 2347 insertions(+), 559 deletions(-) create mode 100644 docs/specs/nvme.txt create mode 100644 hw/block/nvme-ns.c create mode 100644 hw/block/nvme-ns.h -- 2.25.1