Non-SGL transport mode warnings are set to dev_warn_once will cause confusion

AlanCui4080 me at alancui.cc
Thu Apr 9 01:46:37 PDT 2026


Hi,

[   49.108397] nvme nvme0: using unchecked data buffer

See 6fad84a (nvme-pci: use sgls for all user requests if possible). In the 
kernel, those warnings are printed using `dev warn once`. This means that if 
multiple devices in the system do not support SGLs (most consumer-grade 
devices do not support them), only one warning for only one device will be 
printed.

This asymmetry can be misleading to users. If all devices in the system report 
the same issue, it might not be a problem, but if only one device reports it, 
it might (especially since I have two identical drives). Is it possible to 
move this warning to the device initialization phase so print it for each 
device? Or, since we cannot resolve the issue of consumer-grade devices not 
supporting SGL, should it be downgraded to an informational warning?

Alan.






More information about the Linux-nvme mailing list