Linux-NVME Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH blktests v2 0/4] nvme: add nvmet zone report and FC regression tests
@ 2026-10-22 13:09 Andrea Parri
  2026-10-22 13:09 ` [PATCH blktests v2 1/4] nvme/rc: add zoned null_blk target helpers Andrea Parri
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Andrea Parri @ 2026-10-22 13:09 UTC (permalink / raw)
  To: Shin'ichiro Kawasaki, linux-block
  Cc: Andrea Parri, Christoph Hellwig, Keith Busch, Sagi Grimberg,
	Chaitanya Kulkarni, Daniel Wagner, linux-nvme

Add regression tests for three nvmet bugs fixed by the kernel series [1]:

  nvme/072  "nvmet-fc: only send read data for successful commands"
  nvme/073  "nvmet: zns: don't leak stale memory in zone management receive"
  nvme/074  "nvmet: zns: reject a NUMD whose byte count wraps"

The nvme/073 fix is already applied to nvme-7.4; the other two are still
under review.

Patch 1 adds the zoned null_blk target setup, cleanup and zone report
status check that nvme/073 and nvme/074 share.  Patches 2-4 add one test
each, with a small C helper for nvme/072 and nvme/073 where nvme-cli
cannot express the check.

All three tests run on every configured transport.  On a kernel without
the fixes, nvme/073 and nvme/074 fail over loop, tcp, rdma and fc, and
nvme/072 fails over fc, the only affected transport.  All three pass
with the fixes applied.

Tested in virtme-ng VMs over loop, tcp, rdma (rdma_rxe) and fc (fcloop),
on v7.3-rc4-108-g551c722f4080 without the fixes and on nvme-7.4 with the
v2 kernel series applied:

                   loop  tcp   rdma  fc
  unpatched  072   pass  pass  pass  FAIL  failed Identify transferred
                                           4096 bytes
             073   FAIL  FAIL  FAIL  FAIL  stale report bytes, and an
                                           8192-byte transfer for NUMD
                                           1023 not rejected
             074   FAIL  FAIL  FAIL  FAIL  NUMD 0x4000000f not rejected
  patched    all   pass  pass  pass  pass

Changes since v1:
- Renumbered nvme/071-073 to nvme/072-074, since nvme/071 is now taken.
- Patch 1: configure nullb1 instead of nullb0, and drop the
  _init_null_blk() call, so that the helpers also work with a built-in
  null_blk (Shin'ichiro).
- Patch 2: rename _identify() to issue_identify(), and drop the
  namespace read, which only served as a control, together with the
  file backing it needed (Shin'ichiro).
- Patches 3 and 4: use _have_null_blk instead of _have_module null_blk,
  and read the nullb1 attributes in patch 3 (Shin'ichiro).
- Rebased on current master.

v1: https://lore.kernel.org/r/20261014170046.2516-1-parri.andrea@gmail.com

[1] https://lore.kernel.org/r/20261012141239.156408-1-parri.andrea@gmail.com

Andrea Parri (4):
  nvme/rc: add zoned null_blk target helpers
  nvme/072: test that nvmet sends no data for a failed read
  nvme/073: test nvmet zone report initialization and length
  nvme/074: test that nvmet rejects a zone report NUMD that wraps

 src/.gitignore           |   2 +
 src/Makefile             |   2 +
 src/nvme-sentinel-read.c |  89 +++++++++++++++++++++
 src/nvme-zone-report.c   | 165 +++++++++++++++++++++++++++++++++++++++
 tests/nvme/072           |  72 +++++++++++++++++
 tests/nvme/072.out       |   2 +
 tests/nvme/073           |  68 ++++++++++++++++
 tests/nvme/073.out       |   2 +
 tests/nvme/074           |  46 +++++++++++
 tests/nvme/074.out       |   2 +
 tests/nvme/rc            |  58 ++++++++++++++
 11 files changed, 508 insertions(+)
 create mode 100644 src/nvme-sentinel-read.c
 create mode 100644 src/nvme-zone-report.c
 create mode 100755 tests/nvme/072
 create mode 100644 tests/nvme/072.out
 create mode 100755 tests/nvme/073
 create mode 100644 tests/nvme/073.out
 create mode 100755 tests/nvme/074
 create mode 100644 tests/nvme/074.out


base-commit: 9ad5a10fa8ed56f74c23fea2c35f4594a110b8b9
-- 
2.53.0



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

end of thread, other threads:[~2026-10-22 13:36 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-22 13:09 [PATCH blktests v2 0/4] nvme: add nvmet zone report and FC regression tests Andrea Parri
2026-10-22 13:09 ` [PATCH blktests v2 1/4] nvme/rc: add zoned null_blk target helpers Andrea Parri
2026-10-22 13:09 ` [PATCH blktests v2 2/4] nvme/072: test that nvmet sends no data for a failed read Andrea Parri
2026-10-22 13:09 ` [PATCH blktests v2 3/4] nvme/073: test nvmet zone report initialization and length Andrea Parri
2026-10-22 13:09 ` [PATCH blktests v2 4/4] nvme/074: test that nvmet rejects a zone report NUMD that wraps Andrea Parri
2026-10-22 13:36 ` [PATCH blktests v2 0/4] nvme: add nvmet zone report and FC regression tests Andrea Parri

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