From f9e1ee09fadbd4fb146d4f7bb45a6212773dff63 Mon Sep 17 00:00:00 2001 From: Hannes Reinecke Date: Thu, 10 Apr 2014 11:14:20 +0200 Subject: [PATCH 2/2] Skip persistent device link creation on multipath device paths When a device is marked as a multipath device path by setting DM_MULTIPATH_DEVICE_PATH="1" udev should not create any persistent symlinks to that device. Otherwise systemd will get confused about which device to use. --- rules/60-persistent-storage.rules | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) Index: systemd-221/rules/60-persistent-storage.rules =================================================================== --- systemd-221.orig/rules/60-persistent-storage.rules +++ systemd-221/rules/60-persistent-storage.rules @@ -33,8 +33,8 @@ KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}! # SCSI devices KERNEL=="sd*[!0-9]|sr*", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="scsi" KERNEL=="cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}!="?*", IMPORT{program}="scsi_id --export --whitelisted -d $devnode", ENV{ID_BUS}="cciss" -KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" -KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" +KERNEL=="sd*|sr*|cciss*", ENV{DEVTYPE}=="disk", ENV{DM_MULTIPATH_DEVICE_PATH}!="1", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}" +KERNEL=="sd*|cciss*", ENV{DEVTYPE}=="partition", ENV{DM_MULTIPATH_DEVICE_PATH}!="1", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/$env{ID_BUS}-$env{ID_SERIAL}-part%n" # scsi compat links for ATA devices KERNEL=="sd*[!0-9]", ENV{ID_BUS}=="ata", PROGRAM="scsi_id --whitelisted --replace-whitespace -p0x80 -d $devnode", RESULT=="?*", ENV{ID_SCSI_COMPAT}="$result", SYMLINK+="disk/by-id/scsi-$env{ID_SCSI_COMPAT}" @@ -66,6 +66,9 @@ KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!= KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="?*", ENV{ID_CDROM_MEDIA_SESSION_LAST_OFFSET}=="", \ IMPORT{builtin}="blkid --noraid" +# Skip blkid on multipath device paths +ENV{DM_MULTIPATH_DEVICE_PATH}=="1", GOTO="persistent_storage_end" + # probe filesystem metadata of disks KERNEL!="sr*", IMPORT{builtin}="blkid"