From 23e951c6c8237d94a19a1773593deccd692dfa36 Mon Sep 17 00:00:00 2001 From: Lidong Zhong Date: Mon, 24 Jun 2024 09:57:44 +0800 Subject: [PATCH 1/2] fix(mdraid): try to assemble the missing raid device (bsc#1226412) If some raid devices with specified UUIDs fail to be assembled in initrd, we will try to assemble them again in this script to avoid system falling into emergency mode. This patch is created because we can offen see mdadm command failure during boot because of timing issue introduced between mdadm and udevd. (cherry picked from commit https://github.com/dracut-ng/dracut-ng/commit/3fd4385873bb82ae9f759ef5af32bf1732d298b4) --- modules.d/90mdraid/mdraid_start.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/modules.d/90mdraid/mdraid_start.sh b/modules.d/90mdraid/mdraid_start.sh index d8c5de2536..2645f1c43c 100755 --- a/modules.d/90mdraid/mdraid_start.sh +++ b/modules.d/90mdraid/mdraid_start.sh @@ -32,11 +32,14 @@ _md_force_run() { local _md local _UUID local _MD_UUID + local _LEFT_UUID + local _uuid _MD_UUID=$(getargs rd.md.uuid -d rd_MD_UUID=) [ -n "$_MD_UUID" ] || getargbool 0 rd.auto || return if [ -n "$_MD_UUID" ]; then + _LEFT_UUID=$(str_replace "$_MD_UUID" "-" ":") _MD_UUID=$(str_replace "$_MD_UUID" "-" "") _MD_UUID=$(str_replace "$_MD_UUID" ":" "") @@ -51,6 +54,9 @@ _md_force_run() { ) [ -z "$_UUID" ] && continue + # remove the UUID already assembled from the list + _LEFT_UUID=$(str_replace "$_LEFT_UUID" "$_UUID" "") + _UUID=$(str_replace "$_UUID" ":" "") # check if we should handle this device @@ -65,6 +71,14 @@ _md_force_run() { _md_start "${_md}" done fi + + # try to assemble all the left md devices that should be assembled + # probably failed because of timing issue in the first beginning + if [ -n "$_LEFT_UUID" ]; then + for _uuid in ${_LEFT_UUID}; do + mdadm --assemble --scan --uuid="$_uuid" + done + fi } _md_force_run From 1356a35759266c5575487f080b50c24cd9d4d06a Mon Sep 17 00:00:00 2001 From: Antonio Alvarez Feijoo Date: Tue, 25 Jun 2024 15:57:46 +0200 Subject: [PATCH 2/2] chore(suse): update SUSE maintainers doc --- suse/README.susemaint | 1 + 1 file changed, 1 insertion(+) diff --git a/suse/README.susemaint b/suse/README.susemaint index 5bcfd43464..3319376113 100644 --- a/suse/README.susemaint +++ b/suse/README.susemaint @@ -371,4 +371,5 @@ b5a35f9d feat(zfcp_rules): remove zfcp handling consolidated in s390-tools 22f51730 fix(znet): append to udev rules so each rd.znet_ifname is effective 2d8fa8be refactor(ifcfg): delete code duplication using iface_get_subchannels() 457e66e6 feat(ifcfg): minimize s390-specific network configuration aspects +3fd43858 fix(mdraid): try to assemble the missing raid device