[PATCH V2 0/1] Enable/Disable NVMe quirks via module parameter
Maurizio Lombardi
mlombard at redhat.com
Mon Feb 2 09:38:56 PST 2026
Recently, some of our customers were very vocal about wanting an
easy way to enable or disable specific nvme quirks.
I recall that during the ALPSS conference this topic has been briefly
discussed, and it was proposed to use the generic PCI sysfs "new_id" entry
to manipulate the quirks.
However, in some cases a quirk may prevent the system from properly booting,
the kernel may hang or fail to mount the root
filesystem before the system reaches a state where new_id can be written,
this makes this solution not exactly user-friendly for end users.
In particular, boot-time hangs have been reported involving the
bogus_nid quirk.
Therefore, I have been asked to re-propose this module parameter approach
with a few modifications suggested by Daniel Wagner.
# dmesg | grep nvme
[ 0.000000] Command line: root=/dev/vda1 console=ttyS0,115200n8 nvme.quirks=1b36:0010:^bogus_nxid
[ 6.732692] nvme: unrecognized quirk bogus_nxid
# cat /sys/devices/pci0000:00/0000:00:05.0/nvme/nvme1/quirks
bogus_nid
# dmesg | grep nvme
[ 0.000000] Command line: root=/dev/vda1 console=ttyS0,115200n8 nvme.quirks=1b36:0010:^bogus_nid,no_apst
# cat /sys/devices/pci0000:00/0000:00:05.0/nvme/nvme0/quirks
no_apst
Maurizio Lombardi (1):
nvme: add support for dynamic quirk configuration via module parameter
.../admin-guide/kernel-parameters.txt | 13 ++
drivers/nvme/host/pci.c | 164 ++++++++++++++++++
2 files changed, 177 insertions(+)
--
2.52.0
More information about the Linux-nvme
mailing list