Re: [PATCH] udev-rules: prevent systemd from mount devices before they are ready.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 31 Jul 2012 10:53:47 +0200 harald@xxxxxxxxxx wrote:

> From: Harald Hoyer <harald@xxxxxxxxxx>
> 
> In the "add" uevent, ATTR{md/array_state} does not exist, so the next
> rule does not kick in.
> 
> 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.
> ---
>  udev-md-raid.rules | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/udev-md-raid.rules b/udev-md-raid.rules
> index 814c897..da9d3c5 100644
> --- a/udev-md-raid.rules
> +++ b/udev-md-raid.rules
> @@ -27,7 +27,7 @@ ENV{DEVTYPE}=="partition", GOTO="md_ignore_state"
>  # container devices have a metadata version of e.g. 'external:ddf' and
>  # 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"
> +TEST!="md/array_state", ENV{SYSTEMD_READY}="0", GOTO="md_end"
>  ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0", GOTO="md_end"
>  LABEL="md_ignore_state"
>  

Thanks!

applied.

NeilBrown

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux