From: Alexander Tsoy Date: Mon, 16 Aug 2021 15:54:34 +0000 (+0300) Subject: fix(usrmount): do not empty _dev variable X-Git-Tag: 056~109 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4afdcba212793f136aea012b30dd7bdb5b641a5a;p=thirdparty%2Fdracut.git fix(usrmount): do not empty _dev variable Currently $_dev is always overridden with the value returned by label_uuid_to_dev(). This results in an empty value if $_dev is a device path. Fix this by calling label_uuid_to_dev() conditionally. Bug: https://bugs.gentoo.org/807971 Fixes: d3532978de04c78f53664dad7b37705a49a7ee54 --- diff --git a/modules.d/98usrmount/mount-usr.sh b/modules.d/98usrmount/mount-usr.sh index 23ed06aa2..c8e1893b5 100755 --- a/modules.d/98usrmount/mount-usr.sh +++ b/modules.d/98usrmount/mount-usr.sh @@ -55,7 +55,12 @@ mount_usr() { while read -r _dev _mp _fs _opts _freq _passno || [ -n "$_dev" ]; do [ "${_dev%%#*}" != "$_dev" ] && continue if [ "$_mp" = "/usr" ]; then - _dev="$(label_uuid_to_dev "$_dev")" + case "$_dev" in + LABEL=* | UUID=* | PARTUUID=* | PARTLABEL=*) + _dev="$(label_uuid_to_dev "$_dev")" + ;; + *) ;; + esac if strstr "$_opts" "subvol=" \ && [ "${root#block:}" -ef "$_dev" ] \