We are evaluating using SPDK as an internal framework to build a data recorder with NVMe devices.
Disk and SSD devices have had smartctl interfaces which give you package temperatures for a while. It looks like smartctl is now smart enough to do NVMe devices as well. However, once SPDK is "setup", the kernel module that supports smartctl is gone and no longer functions on those devices.
I'm finding references to "temperature" thresholds in the spec, but I am not finding a "read the current device package temperature".
The SPDK under Linux looks like a nice performance package, but if it blocks getting basic health information on the underlying hardware, then it's a non-starter.
I got my mind right this morning and I thought I'd share: