On 04/28/2017 07:05 AM, NeilBrown wrote: > > 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. > ... > diff --git a/udev-md-raid-creating.rules b/udev-md-raid-creating.rules > new file mode 100644 > index 000000000000..2be466bcefd2 > --- /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" > This should be TEST=="/run/mdadm/creating-$kernel" (double equals sign, otherwise it's ignored by udev as incorrect rule). -- Peter -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel