chiark / gitweb /
udev: ignore block devices which no known contents, to avoid trying of mounts/swapons...
[elogind.git] / src / 99-systemd.rules
index 95a91ec174e9b6243d8201305583b64f065b1dd6..0ac6d0023fc0a13e22734f2864f26c83af1d4988 100644 (file)
@@ -7,14 +7,12 @@
 
 ACTION!="add|change", GOTO="systemd_end"
 
-KERNEL=="tty[0-9]|tty1[0-2]", TAG="systemd"
-KERNEL=="ttyS*", TAG="systemd"
+KERNEL=="tty[0-9]|tty1[0-2]", TAG+="systemd"
+KERNEL=="ttyS*", TAG+="systemd"
 
-SUBSYSTEM=="block", KERNEL!="ram*|loop*", TAG="systemd"
-
-# DM finds it funny to create additional device nodes, we need to
-merge them here, so that we recognize identical devices.
-SUBSYSTEM=="block", ENV{DM_NAME}!="", ENV{SYSTEMD_ALIAS}="/dev/mapper/$env{DM_NAME}"
+SUBSYSTEM=="block", KERNEL!="ram*|loop*", TAG+="systemd"
+SUBSYSTEM=="block", KERNEL!="ram*|loop*", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", ENV{SYSTEMD_READY}="0"
+SUBSYSTEM=="block", KERNEL!="ram*|loop*", ENV{ID_PART_TABLE_TYPE}=="", ENV{ID_FS_USAGE}=="", ENV{SYSTEMD_READY}="0"
 
 # We need a hardware independent way to identify network devices. We
 # use the /sys/subsystem path for this. Current vanilla kernels don't
@@ -27,11 +25,12 @@ SUBSYSTEM=="block", ENV{DM_NAME}!="", ENV{SYSTEMD_ALIAS}="/dev/mapper/$env{DM_NA
 #
 # http://git.kernel.org/?p=linux/hotplug/udev.git;a=blob;f=libudev/libudev-enumerate.c;h=da831449dcaf5e936a14409e8e68ab12d30a98e2;hb=HEAD#l742
 
-SUBSYSTEM=="net", KERNEL!="lo", TAG="systemd", ENV{SYSTEMD_ALIAS}="/sys/subsystem/net/devices/%k"
-SUBSYSTEM=="bluetooth", TAG="systemd", ENV{SYSTEMD_ALIAS}="/sys/subsystem/bluetooth/devices/%k"
+SUBSYSTEM=="net", KERNEL!="lo", TAG+="systemd", ENV{SYSTEMD_ALIAS}="/sys/subsystem/net/devices/%k"
+SUBSYSTEM=="bluetooth", TAG+="systemd", ENV{SYSTEMD_ALIAS}="/sys/subsystem/bluetooth/devices/%k"
 
-SUBSYSTEM=="bluetooth", TAG="systemd", ENV{SYSTEMD_WANTS}="bluetooth.target"
-SUBSYSTEM=="printer", TAG="systemd", ENV{SYSTEMD_WANTS}="printer.target"
-ENV{ID_SMARTCARD_READER}=="*?", TAG="systemd", ENV{SYSTEMD_WANTS}="smartcard.target"
+SUBSYSTEM=="bluetooth", TAG+="systemd", ENV{SYSTEMD_WANTS}="bluetooth.target"
+SUBSYSTEM=="printer", TAG+="systemd", ENV{SYSTEMD_WANTS}="printer.target"
+ENV{ID_SMARTCARD_READER}=="*?", TAG+="systemd", ENV{SYSTEMD_WANTS}="smartcard.target"
+SUBSYSTEM=="sound", KERNEL=="card*", TAG+="systemd", ENV{SYSTEMD_WANTS}="sound.target"
 
 LABEL="systemd_end"