linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] udev-rules: prevent systemd from mount devices before they are ready.
@ 2012-07-31  8:53 harald
  2012-08-02  0:09 ` NeilBrown
  0 siblings, 1 reply; 2+ messages in thread
From: harald @ 2012-07-31  8:53 UTC (permalink / raw)
  To: linux-raid; +Cc: neilb, Harald Hoyer

From: Harald Hoyer <harald@redhat.com>

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"
 
-- 
1.7.11.2


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] udev-rules: prevent systemd from mount devices before they are ready.
  2012-07-31  8:53 [PATCH] udev-rules: prevent systemd from mount devices before they are ready harald
@ 2012-08-02  0:09 ` NeilBrown
  0 siblings, 0 replies; 2+ messages in thread
From: NeilBrown @ 2012-08-02  0:09 UTC (permalink / raw)
  To: harald; +Cc: linux-raid

[-- Attachment #1: Type: text/plain, Size: 1300 bytes --]

On Tue, 31 Jul 2012 10:53:47 +0200 harald@redhat.com wrote:

> From: Harald Hoyer <harald@redhat.com>
> 
> 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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 828 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-08-02  0:09 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-31  8:53 [PATCH] udev-rules: prevent systemd from mount devices before they are ready harald
2012-08-02  0:09 ` NeilBrown

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).