<snip>

 

https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-bus-pci seems to indicate that something must be writing “nvme” to that file – i.e. it’s not done internally by the kernel.  Maybe our setup.sh script should at least check for this – i.e. don’t reset driver_override to (null) but print a warning message if it finds it set to “nvme”.

 

 

I agree completely, but so far my find/grep (for strings “override” and "30:00.0”) has failed to locate the source; again, neither below my real rootfs’s /etc nor anywhere on my initramfs.   I also checked my kernel cmdline.   The mystery continues.   Like you, I was also considering modifying the SPDK’s scripts/setup.sh to inspect driver_override and at least put out some kind of message if the contents is not “(null)”.

 

One of my colleagues here suggested using ftrace to see what process is setting the driver_override.

 

Can you add “ftrace=function ftrace_filter=driver_override_store” to your kernel command line?  Then after booting, just “cat /sys/kernel/debug/tracing/trace”.

 

-Jim