From 3076b679178e444b1f597cc8f2cf9b4cccb6ad1d Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Mon, 13 Jul 2009 17:43:13 +0200 Subject: [PATCH] run a final "mdadm -IRs" after udev has settled --- modules.d/90mdraid/61-mdadm.rules | 5 ++++- modules.d/90mdraid/install | 2 ++ modules.d/90mdraid/mdraid_start.sh | 8 ++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100755 modules.d/90mdraid/mdraid_start.sh diff --git a/modules.d/90mdraid/61-mdadm.rules b/modules.d/90mdraid/61-mdadm.rules index 7c90628..0f2a691 100644 --- a/modules.d/90mdraid/61-mdadm.rules +++ b/modules.d/90mdraid/61-mdadm.rules @@ -7,6 +7,9 @@ ACTION!="add|change", GOTO="raid_end" KERNEL=="md/*", GOTO="raid_end" KERNEL=="md*", IMPORT{program}="vol_id --export $tempnode" -ENV{ID_FS_TYPE}=="linux_raid_member", RUN+="/sbin/mdadm -I $env{DEVNAME}" +ENV{ID_FS_TYPE}=="linux_raid_member", \ + TEST!="/tmp/.mdraid_start-%k", \ + RUN+="/sbin/mdadm -I $env{DEVNAME}", \ + RUN+="sh -c '>/tmp/.mdraid_start-%k; /bin/ln -s /sbin/mdraid_start /initqueue/mdraid_start.sh'" LABEL="raid_end" diff --git a/modules.d/90mdraid/install b/modules.d/90mdraid/install index bb65469..eef6567 100755 --- a/modules.d/90mdraid/install +++ b/modules.d/90mdraid/install @@ -23,3 +23,5 @@ if [ -x /sbin/mdmon ] ; then inst_hook pre-pivot 30 "$moddir/mdmon-pre-pivot.sh" fi +inst "$moddir/mdraid_start.sh" /sbin/mdraid_start + diff --git a/modules.d/90mdraid/mdraid_start.sh b/modules.d/90mdraid/mdraid_start.sh new file mode 100755 index 0000000..3475b7e --- /dev/null +++ b/modules.d/90mdraid/mdraid_start.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +if $UDEV_QUEUE_EMPTY >/dev/null 2>&1; then + [ -h "$job" ] && rm -f "$job" + # run mdadm if udev has settled + mdadm -IRs +fi + -- 2.7.4