Just prepending /dev to the device name is obviously wrong indeed, but slapping random other prefixes onto it does not make it better really. This hardcodes udev rules and kernel/driver behaviour, which is always going to be brittle or incomplete -- people might set up their own device namings, or use a funny device driver. For example, in this patch /dev/mapper/ is missing.
So this is a hack which I wouldn't like to see in an LTS release -- let's please fix the ZFS CLI tools by either
- show the full path by default. It's more useful for human users, and the current behaviour of showing only the basename of a device node is completely useless for tools that parse the output
- add a new option --machine-readable or similar which shows full paths, if not changing the default output format is important
Alternatively it might be possible to pry this information out of /sys somewhere?
Just prepending /dev to the device name is obviously wrong indeed, but slapping random other prefixes onto it does not make it better really. This hardcodes udev rules and kernel/driver behaviour, which is always going to be brittle or incomplete -- people might set up their own device namings, or use a funny device driver. For example, in this patch /dev/mapper/ is missing.
So this is a hack which I wouldn't like to see in an LTS release -- let's please fix the ZFS CLI tools by either
- show the full path by default. It's more useful for human users, and the current behaviour of showing only the basename of a device node is completely useless for tools that parse the output
- add a new option --machine-readable or similar which shows full paths, if not changing the default output format is important
Alternatively it might be possible to pry this information out of /sys somewhere?