Hi, the content of /dev/disk/by-label does not look right with USB sticks which carry bootable ISO 9660 images produced by GRUB2 script grub-mkrescue.
The maintainer of Debian's udev package advised me to report the problem here: --------------------------------------------------------------- A not mountable partition becomes link target in /dev/disk/by-label under the name of the filesystem on the mountable parent device. grub-mkrescue ISO images are suitable for booting from CD/DVD and from USB stick. They begin by an MBR which marks a single partition beginning at LBA 1. The ISO filesystem has to begin at LBA 0, because else it would not be bootable from CD/DVD. So the partition is not mountable, intentionally. It just protects the ISO filesystem from partition editors and alike, but leaves the MBR unclaimed in order to please some boot firmware. I verified that the problem still exists in http://cgit.freedesktop.org/systemd/systemd/plain/rules/60-persistent-storage.rules as of today, by experimenting with archlinux-2013.11.01-dual.iso which has an identical file 60-persistent-storage.rules . --------------------------------------------------------------- When i discussed this issue at grub-devel, Andrey Borzenkov pointed me to this rule in 60-persistent-storage.rules # for partitions import parent information ENV{DEVTYPE}=="partition", IMPORT{parent}="ID_*" The properties ID_FS_USAGE and ID_FS_LABEL_ENC get imported and later cause the wrong link: ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}" This happens because the blkid rule does not overwrite the imported ID_FS_LABEL_ENC and ID_FS_TYPE by own findings: # probe filesystem metadata of disks KERNEL!="sr*", IMPORT{builtin}="blkid" To prove my assessment, i booted archlinux-2013.11.01-dual.iso, verified that the link in /dev/disk/by-label is wrong, and then set some properties to empty text. I picked the names from the output of blkid -o udev: # for partitions import parent information ENV{DEVTYPE}=="partition", IMPORT{parent}="ID_*", \ ENV{ID_FS_LABEL}="" , ENV{ID_FS_LABEL_ENC}="" , \ ENV{ID_FS_TYPE}="" , ENV{ID_FS_USAGE}="" After this change, udevadm control --reload, and replugging the USB stick, i get in /dev/disk/by-label a mountable link to /dev/sdb. So i assume that with the original rules file, the link to the parent device was made, but immediately overwritten by the inappropriate link to the partition. --------------------------------------------------------------- I fail to imagine a use case where a filesystem ID should propagate from mountable parent to not mountable partition. Is there any ? Have a nice day :) Thomas _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel