From: James Smart <jsmart2021@gmail.com>
To: linux-nvme@lists.infradead.org
Cc: James Smart <jsmart2021@gmail.com>
Subject: [RFC 0/6] nvme: core layer metadata/pi support
Date: Mon, 24 Feb 2020 10:48:53 -0800 [thread overview]
Message-ID: <20200224184859.20995-1-jsmart2021@gmail.com> (raw)
This patch set is alternative to the core layer mods proposed by Max
Gurtovoy.
This set adds much the same functionality, but does so via transport ops
flags that indicate capabilities that are then stamped into the controller.
Transports can fine-tune the capabilities on a per-controller basis by
tuning the controller flag values. The patches also use different
language. Rather than introducing extended lba data terms and naming all
metadata as "integrity" data, it keeps things generic as "metadata", that
then may or may not contain pi data. It also revises some of the checks
in the core layer to better show fabric deltas and options for metadata.
This patch set does not cover the patch adding a fabrics "pi_enable"
option. That patch may still be used, but would be implemented differently
in that the rdma transport would look for the option, and when set, revise
the ctrl->t_flags after calling nvme_init_integrity. The rdma transport
patches would also largely not change in function, but would change in the
flags and how they would look for items.
This patch set does not address (yet) the nvmet side.
-- james
James Smart (6):
nvme: Add ns to nvme_request struct
nvme: make nvme_ns_has_pi accessible to transports
nvme: Introduce max_meta_segments ctrl and ops attribute
nvme: Add t_flags and pi_blkszs ctrl and ops attributes
nvme: Add pi_flags to nvme_request for transport pi support
nvme: Introduce NVME_INLINE_PROT_SG_CNT
drivers/nvme/host/core.c | 115 +++++++++++++++++++++++++++++++++++++----------
drivers/nvme/host/nvme.h | 46 +++++++++++++++++--
drivers/nvme/host/pci.c | 7 +++
3 files changed, 141 insertions(+), 27 deletions(-)
--
2.16.4
_______________________________________________
linux-nvme mailing list
linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
next reply other threads:[~2020-02-24 18:49 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-24 18:48 James Smart [this message]
2020-02-24 18:48 ` [RFC 1/6] nvme: Add ns to nvme_request struct James Smart
2020-04-21 18:03 ` Christoph Hellwig
2020-02-24 18:48 ` [RFC 2/6] nvme: make nvme_ns_has_pi accessible to transports James Smart
2020-04-21 18:03 ` Christoph Hellwig
2020-02-24 18:48 ` [RFC 3/6] nvme: Introduce max_meta_segments ctrl and ops attribute James Smart
2020-02-25 9:49 ` Max Gurtovoy
2020-04-21 18:04 ` Christoph Hellwig
2020-02-24 18:48 ` [RFC 4/6] nvme: Add t_flags and pi_blkszs ctrl and ops attributes James Smart
2020-04-21 18:10 ` Christoph Hellwig
2020-02-24 18:48 ` [RFC 5/6] nvme: Add pi_flags to nvme_request for transport pi support James Smart
2020-04-21 18:11 ` Christoph Hellwig
2020-02-24 18:48 ` [RFC 6/6] nvme: Introduce NVME_INLINE_PROT_SG_CNT James Smart
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=20200224184859.20995-1-jsmart2021@gmail.com \
--to=jsmart2021@gmail.com \
--cc=linux-nvme@lists.infradead.org \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).