You are correct that this information can be derived from sysfs, but the
main reason why we add these here, is because in udev rule we can't
just go ahead and start looking these up and parsing these..
We could send the discovery aen with NVME_CTRL_NAME and have
then have systemd run something like:
nvme connect-all -d nvme0 --sysfs
and have nvme-cli retrieve all this stuff from sysfs?
Actually that may be a problem.
There could be a hypothetical case where after the event was fired
and before it was handled, the discovery controller went away and
came back again with a different controller instance, and the old
instance is now a different discovery controller.
This is why we need this information in the event. And we verify this
information in sysfs in nvme-cli.
Well, that must be a usual issue with uevents, right? Don't we usually
have a increasing serial number for that or something?
Yes we do, userspace should use it to order events. Does udev not
handle that properly today?