summaryrefslogtreecommitdiffstats
path: root/udev-md-raid-creating.rules
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.com>2017-04-28 07:05:50 +0200
committerJes Sorensen <jsorensen@fb.com>2017-05-02 15:41:39 +0200
commitcd6cbb08c458cee07acb1d854e04532b29ec87bf (patch)
treeca6482225586ea4d423af1e674dd5ca7021daa4a /udev-md-raid-creating.rules
parentIncremental: Cleanup some if() statement spaghetti (diff)
downloadmdadm-cd6cbb08c458cee07acb1d854e04532b29ec87bf.tar.xz
mdadm-cd6cbb08c458cee07acb1d854e04532b29ec87bf.zip
Create: tell udev md device is not ready when first created.
When an array is created the content is not initialized, so it could have remnants of an old filesystem or md array etc on it. udev will see this and might try to activate it, which is almost certainly not what is wanted. So create a mechanism for mdadm to communicate with udev to tell it that the device isn't ready. This mechanism is the existance of a file /run/mdadm/created-mdXXX where mdXXX is the md device name. When creating an array, mdadm will create the file. A new udev rule file, 01-md-raid-creating.rules, will detect the precense of thst file and set ENV{SYSTEMD_READY}="0". This is fairly uniformly used to suppress actions based on the contents of the device. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Jes Sorensen <jsorensen@fb.com>
Diffstat (limited to 'udev-md-raid-creating.rules')
-rw-r--r--udev-md-raid-creating.rules7
1 files changed, 7 insertions, 0 deletions
diff --git a/udev-md-raid-creating.rules b/udev-md-raid-creating.rules
new file mode 100644
index 00000000..2be466bc
--- /dev/null
+++ b/udev-md-raid-creating.rules
@@ -0,0 +1,7 @@
+# do not edit this file, it will be overwritten on update
+# While mdadm is creating an array, it creates a file
+# /run/mdadm/creating-mdXXX. If that file exists, then
+# the array is not "ready" and we should make sure the
+# content is ignored.
+
+KERNEL=="md*", TEST="/run/mdadm/creating-$kernel", ENV{SYSTEMD_READY}="0"