From: Max Gurtovoy <mgurtovoy@nvidia.com>
To: <kbusch@kernel.org>, <hch@lst.de>, <sagi@grimberg.me>,
<linux-nvme@lists.infradead.org>
Cc: <oren@nvidia.com>, <israelr@nvidia.com>, <dwagner@suse.de>,
<oevron@nvidia.com>, Max Gurtovoy <mgurtovoy@nvidia.com>
Subject: [PATCH v1 0/8] Enforce uniform metadata settings for ns head
Date: Mon, 22 Jan 2024 16:56:51 +0200 [thread overview]
Message-ID: <20240122145659.5574-1-mgurtovoy@nvidia.com> (raw)
Hi Christoph/Sagi/Keith,
This patch series uniforms the namespace and it's head metadata
capabilities and definitions. It fixes a situation where a namespace
with metadata caps is exosed to a host controller without metadata
offload support via one port and to a host controller with metadata
offload support via second port. In this case, we will create separate
ns_head and won't use nvme-multipath unbrella for these namespaces.
We've also developed patches that allows the user to have a more
flexible control on the metadata offload enablement for a specific
controller (this control is using new nvmecli flag that is introduced in
a separate series).
For example:
"nvme connect --disallow_pi --transport=rdma --traddr=10.0.1.1 --trsvcid=4420 --nqn=test-nvme"
We also handle the case where the metadata capabilities of the target
were changed for a namespaces during the lifecycle of the controller.
In this case we will remove the namespace from the ns_head and will try
to create a new one (this will create a new ns_head as well).
While we're here we fixed also the transfer length calculation in case
the block layer doesn't generate/verify metadata (in this case only the HW
will do it so the new calculated transfer length value on the wire should be
written in the CC.SGL length).
This series is based on nvme-6.8 branch with 2 fixes added manually:
1. nvme-core: fix a memory leak in nvme_ns_info_from_identify() [from Maurizio Lombardi]
2. nvme: check for valid nvme_identify_ns() before using it [from Ewan D. Milne]
Israel Rukshin (3):
nvme-rdma: Fix transfer length when write_generate/read_verify are 0
nvme-fabrics: add option to disallow T10-PI offload
nvme-rdma: enable user to disallow T10-PI offload
Max Gurtovoy (4):
nvme: use Independent ID-NS only for unknown cmd sets
nvme: set uniform metadata settings for ns head
nvme: allocate a new namespace if validation fail
nvme: add nvme_queue_scan_sync helper
Ori Evron (1):
nvme: sync the namespace scanning during ctrl start
drivers/nvme/host/core.c | 430 +++++++++++++++++++++++-------------
drivers/nvme/host/fabrics.c | 7 +
drivers/nvme/host/fabrics.h | 3 +
drivers/nvme/host/rdma.c | 18 +-
4 files changed, 295 insertions(+), 163 deletions(-)
--
2.18.1
next reply other threads:[~2024-01-22 14:57 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-22 14:56 Max Gurtovoy [this message]
2024-01-22 14:56 ` [PATCH 1/8] nvme: use Independent ID-NS only for unknown cmd sets Max Gurtovoy
2024-01-23 8:58 ` Christoph Hellwig
2024-01-22 14:56 ` [PATCH 2/8] nvme: set uniform metadata settings for ns head Max Gurtovoy
2024-01-23 9:01 ` Christoph Hellwig
2024-01-22 14:56 ` [PATCH 3/8] nvme: allocate a new namespace if validation fail Max Gurtovoy
2024-01-23 9:02 ` Christoph Hellwig
2024-01-22 14:56 ` [PATCH 4/8] nvme: add nvme_queue_scan_sync helper Max Gurtovoy
2024-01-22 14:56 ` [PATCH 5/8] nvme: sync the namespace scanning during ctrl start Max Gurtovoy
2024-01-23 9:02 ` Christoph Hellwig
2024-01-24 0:47 ` Max Gurtovoy
2024-01-24 9:48 ` Christoph Hellwig
2024-01-24 10:23 ` Max Gurtovoy
2024-01-25 14:41 ` Christoph Hellwig
2024-01-25 15:55 ` Max Gurtovoy
2024-01-29 10:48 ` Sagi Grimberg
2024-01-29 12:37 ` Max Gurtovoy
2024-01-31 12:40 ` Sagi Grimberg
2024-01-31 13:10 ` Christoph Hellwig
2024-01-24 12:58 ` Sagi Grimberg
2024-01-24 13:04 ` Max Gurtovoy
2024-01-24 13:10 ` Sagi Grimberg
2024-01-24 13:17 ` Max Gurtovoy
2024-01-24 13:54 ` Sagi Grimberg
2024-01-24 14:15 ` Max Gurtovoy
2024-01-22 14:56 ` [PATCH 6/8] nvme-rdma: Fix transfer length when write_generate/read_verify are 0 Max Gurtovoy
2024-01-23 9:02 ` Christoph Hellwig
2024-01-22 14:56 ` [PATCH 7/8] nvme-fabrics: add option to disallow T10-PI offload Max Gurtovoy
2024-01-22 15:13 ` Daniel Wagner
2024-01-22 15:17 ` Max Gurtovoy
2024-01-22 15:27 ` Daniel Wagner
2024-01-22 15:28 ` Daniel Wagner
2024-01-23 9:04 ` Christoph Hellwig
2024-02-01 10:40 ` Israel Rukshin
[not found] ` <fdd1c81f-caf3-4f34-96e8-f4d8ffc26203@nvidia.com>
2024-02-13 7:16 ` Christoph Hellwig
2024-01-22 14:56 ` [PATCH 8/8] nvme-rdma: enable user " Max Gurtovoy
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=20240122145659.5574-1-mgurtovoy@nvidia.com \
--to=mgurtovoy@nvidia.com \
--cc=dwagner@suse.de \
--cc=hch@lst.de \
--cc=israelr@nvidia.com \
--cc=kbusch@kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=oevron@nvidia.com \
--cc=oren@nvidia.com \
--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
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