From 339b77467a7ad5e5354b5ab0542f8148b18c898c Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Thu, 24 May 2012 11:49:49 +1000 Subject: [PATCH] udev-rules: prevent systemd from mount devices before they are ready. When an array is assembled incrementally, systemd might see it before it is ready, try to mount it, fail, and give up. Result is that array doesn't get mounted. If we ask udev to tell systemd that it isn't ready yet in this case, systemd waits until it is ready, and all are happy. Signed-off-by: NeilBrown diff --git a/udev-md-raid.rules b/udev-md-raid.rules index f564f70..814c897 100644 --- a/udev-md-raid.rules +++ b/udev-md-raid.rules @@ -28,7 +28,7 @@ ENV{DEVTYPE}=="partition", GOTO="md_ignore_state" # never leave state 'inactive' ATTR{md/metadata_version}=="external:[A-Za-z]*", ATTR{md/array_state}=="inactive", GOTO="md_ignore_state" TEST!="md/array_state", GOTO="md_end" -ATTR{md/array_state}=="|clear|inactive", GOTO="md_end" +ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0", GOTO="md_end" LABEL="md_ignore_state" IMPORT{program}="/sbin/mdadm --detail --export $tempnode"