From: Harald Hoyer Date: Fri, 21 May 2021 10:19:32 +0000 (+0200) Subject: fix(dracut-functions): get_maj_min without get_maj_min_cache_file set X-Git-Tag: 055~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a277a5fc7acc0a9e8d853f09671495f9d27645c1;p=thirdparty%2Fdracut.git fix(dracut-functions): get_maj_min without get_maj_min_cache_file set If `get_maj_min_cache_file` is unset `get_maj_min()` would error out. Fix it to work without a cache file set. --- diff --git a/dracut-functions.sh b/dracut-functions.sh index 1991c62e0..5206bd218 100755 --- a/dracut-functions.sh +++ b/dracut-functions.sh @@ -234,13 +234,20 @@ get_fs_env() { # 8:2 get_maj_min() { local _majmin - out="$(grep -m1 -oP "^$1 \K\S+$" "${get_maj_min_cache_file:?}")" - if [ -z "$out" ]; then + local _out + + if [[ $get_maj_min_cache_file ]]; then + _out="$(grep -m1 -oP "^$1 \K\S+$" "$get_maj_min_cache_file")" + fi + + if ! [[ "$_out" ]]; then _majmin="$(stat -L -c '%t:%T' "$1" 2> /dev/null)" - out="$(printf "%s" "$((0x${_majmin%:*})):$((0x${_majmin#*:}))")" - echo "$1 $out" >> "${get_maj_min_cache_file:?}" + _out="$(printf "%s" "$((0x${_majmin%:*})):$((0x${_majmin#*:}))")" + if [[ $get_maj_min_cache_file ]]; then + echo "$1 $_out" >> "$get_maj_min_cache_file" + fi fi - echo -n "$out" + echo -n "$_out" } # get_devpath_block