Re: [PATCH] nvme: reject zoned namespaces whose zone info query failed

Keith Busch <[email protected]>
Newsgroups org.kernel.vger.stable,org.infradead.lists.linux-nvme,org.kernel.vger.linux-kernel
Message-ID <an9sbzM52QqKdQuP@kbusch-mbp>
On Fri, Aug 14, 2026 at 12:09:54PM -0400, Chao Shi wrote:
> Before commit c85c9ab926a5 ("nvme: split nvme_update_zone_info") the
> caller tested "if (ret)" and bailed out on any non-zero return.  Restore
> that behaviour.

I think the namespace is generally left up on purpose for controller
reported errors so that we have a device handle for admin debugging
purposes.

Can you just skip the zone limits update when you have a bad response?
Something like:

--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -2457,7 +2457,8 @@ static int nvme_update_ns_info_block(struct nvme_ns *ns,
                capacity = 0;

        if (IS_ENABLED(CONFIG_BLK_DEV_ZONED) &&
-           ns->head->ids.csi == NVME_CSI_ZNS)
+           ns->head->ids.csi == NVME_CSI_ZNS &&
+           zi.max_open_zones)
                nvme_update_zone_info(ns, &lim, &zi);

        if ((ns->ctrl->vwc & NVME_CTRL_VWC_PRESENT) && !info->no_vwc)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.