On Mon, 2020-03-16 at 07:28 -0700, Klaus Jensen wrote:
> From: Klaus Jensen <[email protected]>
>
> 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.
I don't think this is bad.
You might actually found the ultimate question of life the universe and
everything.
;-)
Best regards,
Maxim Levitsky
>
> 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
>