--- /dev/null
+# device mapper links hook into "online" event, when the dm table
+# is available, while some table types must be ignored
+
+KERNEL=="dm-*", ACTION=="add|online", GOTO="device_mapper_do"
+GOTO="device_mapper_end"
+
+LABEL="device_mapper_do"
+PROGRAM!="/sbin/dmsetup status -j %M -m %m", GOTO="device_mapper_end"
+RESULT=="|*snapshot*|*error*", GOTO="device_mapper_end"
+
+IMPORT{program}="/sbin/vol_id --export $tempnode"
+ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_UUID}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID}"
+ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_SAFE}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_SAFE}"
+
+LABEL="device_mapper_end"