# /etc/udev/rules/64-md-raid.rules: device naming rules for udev # $Header: /root/magellan-cvs/src/udev/udev-md-raid.rules.magellan,v 1.2 2008-12-22 18:56:05 niro Exp $ # # There are a number of modifiers that are allowed to be used in some # of the different fields. They provide the following subsitutions: # %n - the "kernel number" of the device. # For example, 'sda3' has a "kernel number" of '3' # %k - the kernel name for the device. # %M - the kernel major number for the device # %m - the kernel minor number for the device # %b - the bus id for the device # %c - the string returned by the PROGRAM. (Note, this doesn't work within # the PROGRAM field for the obvious reason.) # %s{filename} - the content of a sysfs attribute. # %% - the '%' char itself. # # Try not to modify this file, if you wish to change things, create a new rule # file that can be run before this one. # SUBSYSTEM!="block", GOTO="md_end" ACTION!="add|change", GOTO="md_end" # import data from a raid member and activate it #ENV{ID_FS_TYPE}=="linux_raid_member", IMPORT{program}="/sbin/mdadm --examine --export $tempnode", RUN+="/sbin/mdadm --incremental $env{DEVNAME}" # import data from a raid set KERNEL!="md*", GOTO="md_end" ATTR{md/array_state}=="|clear|inactive", GOTO="md_end" IMPORT{program}="/sbin/mdadm --detail --export $tempnode" ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}" ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}" IMPORT{program}="vol_id --export $tempnode" OPTIONS="link_priority=100" ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}" ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}" LABEL="md_end"