[PATCH blktests v2 0/4] nvme: add nvmet zone report and FC regression tests
Andrea Parri
parri.andrea at gmail.com
Thu Oct 22 06:09:20 PDT 2026
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
More information about the Linux-nvme
mailing list