Linux-NVME Archive on lore.kernel.org
 help / color / Atom feed
From: Keith Busch <kbusch@kernel.org>
To: linux-nvme@lists.infradead.org, hch@lst.de, sagi@grimberg.me,
	linux-block@vger.kernel.org
Cc: axboe@kernel.dk, Keith Busch <kbusch@kernel.org>
Subject: [PATCHv4 0/5] nvme support for zoned namespace command set
Date: Mon, 29 Jun 2020 12:06:36 -0700
Message-ID: <20200629190641.1986462-1-kbusch@kernel.org> (raw)

Changes since v3:

  Replaced older ID controller definition with the updated one from the
  ratified spec (zamds -> zasl).

  Verify power of 2 zone size (internal test)

  Check for valid capacity for report zones; a namespace deletion event
  sets the capacity to 0. If zone revalidation happens around the same
  time, we'd not fill in any zones and hit a BUG() later in the
  blk_zone_revalidate_disk_zones(). (internal testing)

  Fixup for identify namespace descriptors to hide retryable errors
  (Sagi, Nikals; requires a currently unincorporated patch from Sagi)

  Removed unnecessary __GFP_ZERO (Johannes)

  Endian conversion typo (Johannes)

  Added warnings when a zoned namespace can't be added (Klaus, Matias)

  Added received reviews

Background:

The NVM Express workgroup has ratified technical proposals enabling new
command sets. The specifications may be viewed from the following link:

  https://nvmexpress.org/wp-content/uploads/NVM-Express-1.4-Ratified-TPs.zip

This series implements support for the Zoned Namespace (ZNS) Command Set
defined in TP4053, and the Namespace Types base support it depends on
from TP4056. As this series depends on the block layer's append support
infrastructure, append-capable ZNS devices are required for this patch
sets enabling.

The block layer is updated to include the new zone writeable capacity
feature from ZNS, and existing zone block device drivers are updated to
incorporate this feature.

Aravind Ramesh (1):
  null_blk: introduce zone capacity for zoned device

Keith Busch (2):
  nvme: support for multi-command set effects
  nvme: support for zoned namespaces

Matias Bjørling (1):
  block: add capacity field to zone descriptors

Niklas Cassel (1):
  nvme: implement I/O Command Sets Command Set support

 block/Kconfig                  |   5 +-
 block/blk-zoned.c              |   1 +
 drivers/block/null_blk.h       |   1 +
 drivers/block/null_blk_main.c  |  10 +-
 drivers/block/null_blk_zoned.c |  16 ++-
 drivers/nvme/host/Makefile     |   1 +
 drivers/nvme/host/core.c       | 227 +++++++++++++++++++++++------
 drivers/nvme/host/hwmon.c      |   2 +-
 drivers/nvme/host/lightnvm.c   |   4 +-
 drivers/nvme/host/multipath.c  |   2 +-
 drivers/nvme/host/nvme.h       |  50 ++++++-
 drivers/nvme/host/zns.c        | 253 +++++++++++++++++++++++++++++++++
 drivers/scsi/sd_zbc.c          |   1 +
 include/linux/nvme.h           | 134 ++++++++++++++++-
 include/uapi/linux/blkzoned.h  |  15 +-
 15 files changed, 667 insertions(+), 55 deletions(-)
 create mode 100644 drivers/nvme/host/zns.c

-- 
2.24.1


_______________________________________________
Linux-nvme mailing list
Linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme

             reply index

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-29 19:06 Keith Busch [this message]
2020-06-29 19:06 ` [PATCHv4 1/5] block: add capacity field to zone descriptors Keith Busch
2020-06-30 15:34   ` Himanshu Madhani
2020-06-29 19:06 ` [PATCHv4 2/5] null_blk: introduce zone capacity for zoned device Keith Busch
2020-06-30 15:34   ` Himanshu Madhani
2020-06-29 19:06 ` [PATCHv4 3/5] nvme: implement I/O Command Sets Command Set support Keith Busch
2020-06-30  6:01   ` Hannes Reinecke
2020-06-30 15:45   ` Himanshu Madhani
2020-06-29 19:06 ` [PATCHv4 4/5] nvme: support for multi-command set effects Keith Busch
2020-06-30 15:51   ` Himanshu Madhani
2020-06-29 19:06 ` [PATCHv4 5/5] nvme: support for zoned namespaces Keith Busch
2020-06-30 16:36   ` Himanshu Madhani
2020-07-01  6:37 ` [PATCHv4 0/5] nvme support for zoned namespace command set Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200629190641.1986462-1-kbusch@kernel.org \
    --to=kbusch@kernel.org \
    --cc=axboe@kernel.dk \
    --cc=hch@lst.de \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=sagi@grimberg.me \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

Linux-NVME Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-nvme/0 linux-nvme/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-nvme linux-nvme/ https://lore.kernel.org/linux-nvme \
		linux-nvme@lists.infradead.org
	public-inbox-index linux-nvme

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.infradead.lists.linux-nvme


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git