udev rules: use $tempnode, check for supported types, comments

Few things adjusted in addition to
0f82fe603a42f37f1e2a6f826b4164811bf2d188:

- keep strict tests for supported types
- when accessing the device, use $tempnode
- few more comments

Signed-off-by: Michal Soltys <soltys@ziu.info>
Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
Michal Soltys 2011-09-08 09:25:08 +02:00 committed by NeilBrown
parent 16715c01f7
commit e5e54ff1d9
1 changed files with 13 additions and 4 deletions

View File

@ -2,10 +2,19 @@
SUBSYSTEM!="block", GOTO="md_end"
# handle potential components of arrays
ENV{ID_FS_TYPE}=="*_raid_member", ENV{ID_PATH}!="", ACTION=="remove", RUN+="/sbin/mdadm -If $name --path $env{ID_PATH}"
ENV{ID_FS_TYPE}=="*_raid_member", ENV{ID_PATH}=="", ACTION=="remove", RUN+="/sbin/mdadm -If $name"
ENV{ID_FS_TYPE}=="*_raid_member", ACTION=="add", RUN+="/sbin/mdadm --incremental $env{DEVNAME}"
# handle potential components of arrays (the ones supported by md)
ENV{ID_FS_TYPE}=="ddf_raid_member|isw_raid_member|linux_raid_member", GOTO="md_inc"
GOTO="md_inc_skip"
LABEL="md_inc"
# remember you can limit what gets auto/incrementally assembled by
# mdadm.conf(5)'s 'AUTO' and selectively whitelist using 'ARRAY'
ACTION=="add", RUN+="/sbin/mdadm --incremental $tempnode"
ACTION=="remove", ENV{ID_PATH}=="?*", RUN+="/sbin/mdadm -If $name --path $env{ID_PATH}"
ACTION=="remove", ENV{ID_PATH}!="?*", RUN+="/sbin/mdadm -If $name"
LABEL="md_inc_skip"
# handle md arrays
ACTION!="add|change", GOTO="md_end"