qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v3 00/17] hw/block/nvme: multiple namespaces support


From: Klaus Jensen
Subject: [PATCH v3 00/17] hw/block/nvme: multiple namespaces support
Date: Tue, 22 Sep 2020 10:45:16 +0200

From: Klaus Jensen <k.jensen@samsung.com>

This is the next round of my patches for the nvme device.

This includes a bit of cleanup and two new features:

  * support for scatter/gather lists

  * multiple namespaces support through a new nvme-ns device

Finally, the series wraps up with changing the PCI vendor and device ID to get
rid of the internal Intel id and as a side-effect get rid of some Linux kernel
quirks that no longer applies.

"pci: pass along the return value of dma_memory_rw" has already been posted by
Philippe in another series, but since it is not applied yet, I am including it
here.

Changes for v3
~~~~~~~~~~~~~~

  * hw/block/nvme: handle dma errors
    Do not retry DMA, just set Controller Fatal Status (CFS). This causes
    the Linux kernel to most likely disable the controller when running the
    blktests block/011 test case, which causes some havoc when running
    blktests, but I have submitted a patch for blktests to fix this. (Keith)

  * hw/block/nvme: refactor aio submission
    Dropped the unneeded nvme_req_is_write function. (Keith)

  * Added R-b's from Keith and Philippe.

Changes for v2
~~~~~~~~~~~~~~

  * Added a new patch ("hw/block/nvme: fix typo in trace event") that does what
    it says on the tin.

  * Dropped the "hw/block/nvme: support multiple parallel aios per request"
    patch (Keith).

  * hw/block/nvme: add symbolic command name to trace events
    Changed to single quote (Philippe)

  * hw/block/nvme: default request status to success
    Commit message typo fixed (Philippe)

  * hw/block/nvme: change controller pci id
    Do NOT bump the device id for the legacy Intel id (David)

Gollu Appalanaidu (1):
  hw/block/nvme: add support for sgl bit bucket descriptor

Klaus Jensen (16):
  hw/block/nvme: fix typo in trace event
  pci: pass along the return value of dma_memory_rw
  hw/block/nvme: handle dma errors
  hw/block/nvme: commonize nvme_rw error handling
  hw/block/nvme: alignment style fixes
  hw/block/nvme: add a lba to bytes helper
  hw/block/nvme: fix endian conversion
  hw/block/nvme: add symbolic command name to trace events
  hw/block/nvme: refactor aio submission
  hw/block/nvme: default request status to success
  hw/block/nvme: harden cmb access
  hw/block/nvme: add support for scatter gather lists
  hw/block/nvme: refactor identify active namespace id list
  hw/block/nvme: support multiple namespaces
  pci: allocate pci id for nvme
  hw/block/nvme: change controller pci id

 docs/specs/nvme.txt    |  23 ++
 docs/specs/pci-ids.txt |   1 +
 hw/block/nvme-ns.h     |  74 ++++
 hw/block/nvme.h        |  83 +++-
 include/block/nvme.h   |   6 +-
 include/hw/pci/pci.h   |   4 +-
 hw/block/nvme-ns.c     | 167 ++++++++
 hw/block/nvme.c        | 848 ++++++++++++++++++++++++++++++-----------
 hw/core/machine.c      |   1 +
 MAINTAINERS            |   1 +
 hw/block/meson.build   |   2 +-
 hw/block/trace-events  |  23 +-
 12 files changed, 978 insertions(+), 255 deletions(-)
 create mode 100644 docs/specs/nvme.txt
 create mode 100644 hw/block/nvme-ns.h
 create mode 100644 hw/block/nvme-ns.c

-- 
2.28.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]