File 0513-Fix-regression-caused-by-6f9bf2b8ac436259bdccb110545.patch of Package dracut.9139

From 31445aa3a415f9586f3bd6f6b14f0ae668d30ff9 Mon Sep 17 00:00:00 2001
From: Daniel Molkentin <dmolkentin@suse.com>
Date: Thu, 9 Mar 2017 11:45:47 +0100
Subject: [PATCH 1/2] Fix regression caused by
 6f9bf2b8ac436259bdccb11054562aedaa78c496

This was trying to fix bsc#998860, but introduced a regression:

62-md-dracut-uuid.rules was not generated in /etc/udev/rules.d and
therefore not processed.

Also, force reassembly of raid arrays given at the command line
and ensure IMSM_NO_PLATFORM is set correctly.

Reference: bsc#1028542

Signed-Off-By: Daniel Molkentin <dmolkentin@suse.com>
Signed-Off-By: Thomas Blume <thomas.blume@suse.com>
---
 modules.d/90mdraid/parse-md.sh | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/modules.d/90mdraid/parse-md.sh b/modules.d/90mdraid/parse-md.sh
index c187a916..91e52f2d 100755
--- a/modules.d/90mdraid/parse-md.sh
+++ b/modules.d/90mdraid/parse-md.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 MD_UUID=$(getargs rd.md.uuid -d rd_MD_UUID=)
-MD_RULES=/etc/udev/62-md-dracut-uuid.rules
+MD_RULES=/etc/udev/rules.d/62-md-dracut-uuid.rules
 
 if ( ! [ -n "$MD_UUID" ] && ! getargbool 0 rd.auto ) || ! getargbool 1 rd.md -d -n rd_NO_MD; then
     info "rd.md=0: removing MD RAID activation"
@@ -13,6 +13,8 @@ else
         printf 'SUBSYSTEM!="block", GOTO="md_uuid_end"\n' >> $MD_RULES
         printf 'ENV{ID_FS_TYPE}!="ddf_raid_member", ENV{ID_FS_TYPE}!="isw_raid_member", ENV{ID_FS_TYPE}!="linux_raid_member", GOTO="md_uuid_end"\n' >> $MD_RULES
 
+        #check for array components
+        printf 'IMPORT{program}="/sbin/mdadm --examine --export $tempnode"\n' >> $MD_RULES
         for uuid in $MD_UUID; do
             printf 'ENV{MD_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid >> $MD_RULES
             printf 'ENV{ID_FS_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid >> $MD_RULES
@@ -20,7 +22,7 @@ else
         printf 'ENV{ID_FS_TYPE}="unknown"\n' >> $MD_RULES
         printf 'GOTO="md_uuid_end"\n' >> $MD_RULES
         printf 'LABEL="md_uuid_ok"\n' >> $MD_RULES
-        printf 'ENV{IMSM_NO_PLATFORM}="1"' >> $MD_RULES
+        printf 'ENV{IMSM_NO_PLATFORM}="1"\n' >> $MD_RULES
         printf 'LABEL="md_uuid_end"\n' >> $MD_RULES
     fi
 fi
-- 
2.12.0

openSUSE Build Service is sponsored by