I asked upstream for an explanation of why NVME device sysfs paths are different from one system to the next. You can read the discussion here: https://lore.kernel.org/linux-nvme/b98f6062f59c1c1cfc4a200de83e4e244efbffbf.camel@suse.com/T/ I'm not going to claim I understand all the technical details, but my understanding is that the difference is there to stay and user-space will have to deal with it. Martin Wilck's answer actually includes a suggestion of how this could be done, hopefully that will help.