public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] nvme: improve discard_granularity spec compliance
@ 2026-02-20  3:28 Caleb Sander Mateos
  2026-02-20  3:28 ` [PATCH 1/6] nvme: add preferred I/O size fields to struct nvme_id_ns_nvm Caleb Sander Mateos
                   ` (6 more replies)
  0 siblings, 7 replies; 18+ messages in thread
From: Caleb Sander Mateos @ 2026-02-20  3:28 UTC (permalink / raw)
  To: Keith Busch, Jens Axboe, Christoph Hellwig, Sagi Grimberg,
	Chaitanya Kulkarni
  Cc: linux-nvme, linux-kernel, Caleb Sander Mateos

NVMe block devices always report the logical block size for the
discard_granularity queue limit. However, more accurate values may be
available in the NPDG/NPDA fields of the Identify Namespace structure or
the NPDGL/NPDAL fields of the NVM Command Set Specific Identify
Namespace structure. So use these values to compute discard_granularity.

Also fix the use of the OPTPERF field to better comply with version 2.1
of the NVMe spec.

Update the target side to report NPDGL and NPDAL as wel, in case the
discard granularity doesn't fit in the 16-bit NPDG and NPDA fields.

Caleb Sander Mateos (6):
  nvme: add preferred I/O size fields to struct nvme_id_ns_nvm
  nvme: update nvme_id_ns OPTPERF constants
  nvme: always issue I/O Command Set specific Identify Namespace
  nvme: set discard_granularity from NPDG/NPDA
  nvmet: use NVME_NS_FEAT_OPTPERF_SHIFT
  nvmet: report NPDGL and NPDAL

 drivers/nvme/host/core.c          | 21 ++++++++++++++++-----
 drivers/nvme/target/admin-cmd.c   |  2 ++
 drivers/nvme/target/io-cmd-bdev.c | 19 +++++++++++++++----
 drivers/nvme/target/nvmet.h       |  2 ++
 include/linux/nvme.h              | 10 ++++++++--
 5 files changed, 43 insertions(+), 11 deletions(-)

-- 
2.45.2


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2026-02-23 13:24 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-20  3:28 [PATCH 0/6] nvme: improve discard_granularity spec compliance Caleb Sander Mateos
2026-02-20  3:28 ` [PATCH 1/6] nvme: add preferred I/O size fields to struct nvme_id_ns_nvm Caleb Sander Mateos
2026-02-20 16:06   ` Christoph Hellwig
2026-02-21  2:55     ` Caleb Sander Mateos
2026-02-23 13:24       ` Christoph Hellwig
2026-02-20  3:28 ` [PATCH 2/6] nvme: update nvme_id_ns OPTPERF constants Caleb Sander Mateos
2026-02-20 16:07   ` Christoph Hellwig
2026-02-20 16:17     ` Caleb Sander Mateos
2026-02-20 16:20       ` Christoph Hellwig
2026-02-20  3:28 ` [PATCH 3/6] nvme: always issue I/O Command Set specific Identify Namespace Caleb Sander Mateos
2026-02-20 16:08   ` Christoph Hellwig
2026-02-20  3:28 ` [PATCH 4/6] nvme: set discard_granularity from NPDG/NPDA Caleb Sander Mateos
2026-02-20 16:10   ` Christoph Hellwig
2026-02-20  3:28 ` [PATCH 5/6] nvmet: use NVME_NS_FEAT_OPTPERF_SHIFT Caleb Sander Mateos
2026-02-20 16:10   ` Christoph Hellwig
2026-02-20  3:28 ` [PATCH 6/6] nvmet: report NPDGL and NPDAL Caleb Sander Mateos
2026-02-20 16:11   ` Christoph Hellwig
2026-02-20 16:05 ` [PATCH 0/6] nvme: improve discard_granularity spec compliance Christoph Hellwig

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox