From nobody Tue Apr 7 18:51:41 2026 Received: from mail-yx1-f98.google.com (mail-yx1-f98.google.com [74.125.224.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3863C36BCE7 for ; Fri, 27 Feb 2026 20:24:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.224.98 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772223843; cv=none; b=ceoReiYlmsKGg6ByqbbE1evZkYZTSpVETBnONlsasO1AXEvO7or5ExOMADt2jfgHFo9giF5pW58Fj4mZumXhFPMHLxZSnBaSp/7EI0HcWapEaSX8W/1jVB3wgGFCGYQrqSBJvOtK890tyNEA8hVzpFjIcpueXwQoxSR12wZcOmM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772223843; c=relaxed/simple; bh=C1USMimgJzASCD7VPj4tIL5i173jKmiylohG9y4/etY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=OKcqKkJmSVfW/QTyvS1V0KYrgIpMDxGG9P7wNKCv9OWpHCKIrc1YyCH8TLdQehO44tU0nBVly8uGmaOZTUA8V7fHGsG77gbstA+a0GP7lkvCGyZ+0G9FvYntooC1rcLpMnt7rilX7u5ZT97VTF1XGJ69gfOasNXcVAIfPMgONaw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=purestorage.com; spf=fail smtp.mailfrom=purestorage.com; dkim=pass (2048-bit key) header.d=purestorage.com header.i=@purestorage.com header.b=NPInV2x8; arc=none smtp.client-ip=74.125.224.98 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=purestorage.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=purestorage.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=purestorage.com header.i=@purestorage.com header.b="NPInV2x8" Received: by mail-yx1-f98.google.com with SMTP id 956f58d0204a3-64ca49cc623so352481d50.2 for ; Fri, 27 Feb 2026 12:24:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=purestorage.com; s=google2022; t=1772223841; x=1772828641; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=qCPUB5YteTwm4Su/ndU1zpliegenX1WCgWKjuq5aUfY=; b=NPInV2x8Qgz5LoR5aA0UDJAfaWSF7M2iqGycIpEh+uCYFrFBtqL84esoemp1k8ADT6 LKzj+OkEAF83FPbiq6LWwg/xtUK07MLiQcUCUIBWB4qYKp2DVlJ+jUUGgzpHB4Vvokpp BUVJVJosl8F524hKtJdprdoqwr7dseTYIsct/G1uir00MR5dvbfUw1fjh9TDunbtdaBs a4o26GFw6AkdrVMvF79VokETDjNm9iIUu4eNZ6OQU+f6+/uFJ2au002pvFf4Twz56lmQ 28wleT0WVKs1sY0hPC23HmtWANWqKEEjhKiUIQBGyCSTCtmgqbdltP6TI146deM3L7GG hCKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772223841; x=1772828641; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=qCPUB5YteTwm4Su/ndU1zpliegenX1WCgWKjuq5aUfY=; b=VdUAsYSexqHjNqVBs0BGv4BZlmHMz9olorXjM9cy08CfVDD/JESpkeDNieUWUKrgnT 5p+Xn6Dp73c/uBDdIFxRrnEFcnzV7qiVXURRpFtlD8fQFU9wQ0h+88UmdZ9iSUhQS3EA y1kBYkK69U1jP+8NXEsBJpRBKLQVUG/iB42YkNtHatacas+68zO5PqkI7CVwlGn2AbKM /jJvhN/fu2yJno8ZWMHqqWXIU8FY4Yd9KbA4VcL39+quEsYskecTvG464nbTibb0Oyx3 40lmibF+XKI7hFamFwl6wzIyVbAc16d7SZduaEqHMGA3oy7APWnQ3S5LjR4ic7wEWK+E p77Q== X-Forwarded-Encrypted: i=1; AJvYcCVIrMr2ApmMy3v765fKw3nSuk/AdgjIwmk52nY1PeizC3QoSUH+m7L0t9QYJHGcdjL5CxMy7tdCyJrWmhg=@vger.kernel.org X-Gm-Message-State: AOJu0Yx0qP8VOG3LApzy/ZE6StJnmMOzEPHJEZXEiM6GVq9e6l/Pg8FW zQXx2TcqJDD/7UhmpBZRHCgT1cmpbIlL8vqdqBKVKJ+NN4YaqsOPk9SuWJHFrY55z5Gd86NxVpZ Gg/u146R3hzBTeSrkJV9agAHdNbpifUsW0/LdOKBXV/qzjNbBbJFv X-Gm-Gg: ATEYQzzSLY31oYk/URbsRkORgLBRBWNKx3nE0wqTvSsMvkW26Y3eb8ztMmqmmekKpqW TLHTxoEA2hadmPSlWxVZPimNx6grzR+BrhjNZVvY5Q5xDXo9iISDLKt12SFPnOCdvVZJ7oxcVjo i4CTt+lBJxXGtyBRB/lx4MbZN7ZjVQZdfQAGbm7gZTPBc8uDUXgCdKA9ZRGTPFL7z2VvJEhh2P2 NA4UtstabUDIpCwi3J3kce1xGlAiEb9zibWCoHoXiLdN38xC4penFd0gH8h3DRtZOF4wMPUdb3i ORgCEG76lXdhdqWleJO2dU9TJBxjnYWQwDZQW4bnw5e+IQiJ7IlYUHrKnlbTUe2lsfEizztj24N eJcnAAMfhv2npEraqyO7m08QXUkS/ZETYzaI8aKM= X-Received: by 2002:a53:ac9c:0:b0:649:bf2a:71d with SMTP id 956f58d0204a3-64cc22be974mr3069800d50.4.1772223841189; Fri, 27 Feb 2026 12:24:01 -0800 (PST) Received: from c7-smtp-2023.dev.purestorage.com ([2620:125:9017:12:36:3:5:0]) by smtp-relay.gmail.com with ESMTPS id 956f58d0204a3-64cb7590dccsm555012d50.5.2026.02.27.12.24.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Feb 2026 12:24:01 -0800 (PST) X-Relaying-Domain: purestorage.com Received: from dev-csander.dev.purestorage.com (dev-csander.dev.purestorage.com [10.112.29.101]) by c7-smtp-2023.dev.purestorage.com (Postfix) with ESMTP id 675413404A1; Fri, 27 Feb 2026 13:24:00 -0700 (MST) Received: by dev-csander.dev.purestorage.com (Postfix, from userid 1557716354) id 62661E420D8; Fri, 27 Feb 2026 13:24:00 -0700 (MST) From: Caleb Sander Mateos To: Keith Busch , Jens Axboe , Christoph Hellwig , Sagi Grimberg , Chaitanya Kulkarni Cc: linux-nvme@lists.infradead.org, linux-kernel@vger.kernel.org, Caleb Sander Mateos Subject: [PATCH v5 1/8] nvme: add preferred I/O size fields to struct nvme_id_ns_nvm Date: Fri, 27 Feb 2026 13:23:46 -0700 Message-ID: <20260227202354.1012322-2-csander@purestorage.com> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20260227202354.1012322-1-csander@purestorage.com> References: <20260227202354.1012322-1-csander@purestorage.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" A subsequent change will use the NPDGL and NPDAL fields of the NVM Command Set Specific Identify Namespace structure, so add them (and the handful of intervening fields) to struct nvme_id_ns_nvm. Add an assertion that the size is still 4 KB. Signed-off-by: Caleb Sander Mateos Reviewed-by: Christoph Hellwig --- include/linux/nvme.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/include/linux/nvme.h b/include/linux/nvme.h index 655d194f8e72..1134e6bf2d5c 100644 --- a/include/linux/nvme.h +++ b/include/linux/nvme.h @@ -511,13 +511,20 @@ struct nvme_id_ctrl_zns { struct nvme_id_ns_nvm { __le64 lbstm; __u8 pic; __u8 rsvd9[3]; __le32 elbaf[64]; - __u8 rsvd268[3828]; + __le32 npdgl; + __le32 nprg; + __le32 npra; + __le32 nors; + __le32 npdal; + __u8 rsvd288[3808]; }; =20 +static_assert(sizeof(struct nvme_id_ns_nvm) =3D=3D 4096); + enum { NVME_ID_NS_NVM_STS_MASK =3D 0x7f, NVME_ID_NS_NVM_GUARD_SHIFT =3D 7, NVME_ID_NS_NVM_GUARD_MASK =3D 0x3, NVME_ID_NS_NVM_QPIF_SHIFT =3D 9, --=20 2.45.2