Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.2
mdadm
0043-udev-allow-for-udev-attribute-reading-bug....
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0043-udev-allow-for-udev-attribute-reading-bug.patch of Package mdadm
From 7bd59e7926c6921121087eb067befaa896c900a4 Mon Sep 17 00:00:00 2001 From: NeilBrown <neilb@suse.de> Date: Wed, 18 Sep 2019 15:12:55 +1000 Subject: [PATCH] udev: allow for udev attribute reading bug. Git-commit: 7bd59e7926c6921121087eb067befaa896c900a4 Patch-mainline: mdadm-4.1+ References: jsc#SLE-10078, jsc#SLE-9348 There is a bug in udev (which will hopefully get fixed, but we should allow for it anways). When reading a sysfs attribute, it first reads the whole value of the attribute, then reads again expecting to get a read of 0 bytes, like you would with an ordinary file. If the sysfs attribute changed between these two reads, it can get a mixture of two values. In particular, if it reads when 'array_state' is changing from 'clear' to 'inactive', it can find the value as "clear\nve". This causes the test for "|clear|active" to fail, so systemd is allowed to think that the array is ready - when it isn't. So change the pattern to allow for this but adding a wildcard at the end. Also don't allow for an empty string - reading array_state will never return an empty string - if it exists at all, it will be non-empty. Signed-off-by: NeilBrown <neilb@suse.de> Signed-off-by: Jes Sorensen <jsorensen@fb.com> Signed-off-by: Coly Li <colyli@suse.de> --- udev-md-raid-arrays.rules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/udev-md-raid-arrays.rules b/udev-md-raid-arrays.rules index d391665..c8fa8e8 100644 --- a/udev-md-raid-arrays.rules +++ b/udev-md-raid-arrays.rules @@ -14,7 +14,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", ENV{SYSTEMD_READY}="0", GOTO="md_end" -ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0", GOTO="md_end" +ATTR{md/array_state}=="clear*|inactive", ENV{SYSTEMD_READY}="0", GOTO="md_end" LABEL="md_ignore_state" IMPORT{program}="BINDIR/mdadm --detail --no-devices --export $devnode" -- 2.25.0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor