From: Harald Hoyer Date: Fri, 26 Mar 2021 09:29:21 +0000 (+0100) Subject: fix(lvm): shellcheck for modules.d/90lvm X-Git-Tag: 054~236 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=37b1f66f005737146004985d09b7471e8f47ef68;p=thirdparty%2Fdracut.git fix(lvm): shellcheck for modules.d/90lvm --- diff --git a/modules.d/90lvm/.shchkdir b/modules.d/90lvm/.shchkdir new file mode 100644 index 000000000..e69de29bb diff --git a/modules.d/90lvm/lvm_scan.sh b/modules.d/90lvm/lvm_scan.sh index f336366ac..c42f97d50 100755 --- a/modules.d/90lvm/lvm_scan.sh +++ b/modules.d/90lvm/lvm_scan.sh @@ -116,6 +116,7 @@ if [ -n "$LVS" ]; then info "Scanning devices $lvmdevs for LVM logical volumes $LVS" lvm lvscan $lvm_ignorelockingfailure 2>&1 | vinfo for LV in $LVS; do + # shellcheck disable=SC2086 lvm lvchange --yes -K -ay $lvm_quirk_args "$LV" 2>&1 | vinfo done fi @@ -123,6 +124,7 @@ fi if [ -z "$LVS" ] || [ -n "$VGS" ]; then info "Scanning devices $lvmdevs for LVM volume groups $VGS" lvm vgscan $lvm_ignorelockingfailure 2>&1 | vinfo + # shellcheck disable=SC2086 lvm vgchange -ay $lvm_quirk_args $VGS 2>&1 | vinfo fi diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh index 7c53352b6..e1e6c5829 100755 --- a/modules.d/90lvm/module-setup.sh +++ b/modules.d/90lvm/module-setup.sh @@ -28,12 +28,12 @@ cmdline() { declare -A _activated for dev in "${!host_fs_types[@]}"; do - [ -e /sys/block/${dev#/dev/}/dm/name ] || continue - [ -e /sys/block/${dev#/dev/}/dm/uuid ] || continue - uuid=$(< /sys/block/${dev#/dev/}/dm/uuid) + [[ -e /sys/block/${dev#/dev/}/dm/name ]] || continue + [[ -e /sys/block/${dev#/dev/}/dm/uuid ]] || continue + uuid=$(< "/sys/block/${dev#/dev/}/dm/uuid") [[ ${uuid#LVM-} == "$uuid" ]] && continue - dev=$(< /sys/block/${dev#/dev/}/dm/name) - eval $(dmsetup splitname --nameprefixes --noheadings --rows "$dev" 2> /dev/null) + dev=$(< "/sys/block/${dev#/dev/}/dm/name") + eval "$(dmsetup splitname --nameprefixes --noheadings --rows "$dev" 2> /dev/null)" [[ ${DM_VG_NAME} ]] && [[ ${DM_LV_NAME} ]] || return 1 if ! [[ ${_activated[DM_VG_NAME / DM_LV_NAME]} ]]; then printf " rd.lvm.lv=%s " "${DM_VG_NAME}/${DM_LV_NAME} " @@ -48,12 +48,11 @@ installkernel() { # called by dracut install() { - local _i - inst lvm if [[ $hostonly_cmdline == "yes" ]]; then - local _lvmconf=$(cmdline) + local _lvmconf + _lvmconf=$(cmdline) [[ $_lvmconf ]] && printf "%s\n" "$_lvmconf" >> "${initdir}/etc/cmdline.d/90lvm.conf" fi @@ -64,8 +63,8 @@ install() { inst_simple -H /etc/lvm/lvm.conf # FIXME: near-term hack to establish read-only locking; # use command-line lvm.conf editor once it is available - sed -i -e 's/\(^[[:space:]]*\)locking_type[[:space:]]*=[[:space:]]*[[:digit:]]/\1locking_type = 4/' ${initdir}/etc/lvm/lvm.conf - sed -i -e 's/\(^[[:space:]]*\)use_lvmetad[[:space:]]*=[[:space:]]*[[:digit:]]/\1use_lvmetad = 0/' ${initdir}/etc/lvm/lvm.conf + sed -i -e 's/\(^[[:space:]]*\)locking_type[[:space:]]*=[[:space:]]*[[:digit:]]/\1locking_type = 4/' "${initdir}/etc/lvm/lvm.conf" + sed -i -e 's/\(^[[:space:]]*\)use_lvmetad[[:space:]]*=[[:space:]]*[[:digit:]]/\1use_lvmetad = 0/' "${initdir}/etc/lvm/lvm.conf" fi export LVM_SUPPRESS_FD_WARNINGS=1 @@ -73,11 +72,11 @@ install() { if [[ -f $dracutsysrootdir/etc/lvm/lvmlocal.conf ]]; then inst_simple -H /etc/lvm/lvmlocal.conf fi - eval $(lvm dumpconfig global/system_id_source &> /dev/null) + eval "$(lvm dumpconfig global/system_id_source &> /dev/null)" if [ "$system_id_source" == "file" ]; then - eval $(lvm dumpconfig global/system_id_file) + eval "$(lvm dumpconfig global/system_id_file)" if [ -f "$system_id_file" ]; then - inst_simple -H $system_id_file + inst_simple -H "$system_id_file" fi fi unset LVM_SUPPRESS_FD_WARNINGS @@ -97,14 +96,14 @@ install() { # Do not run lvmetad update via pvscan in udev rule - lvmetad is not running yet in dracut! if [[ -f ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules ]]; then - if grep -q SYSTEMD_WANTS ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules; then + if grep -q SYSTEMD_WANTS "${initdir}"/lib/udev/rules.d/69-dm-lvm-metad.rules; then sed -i -e 's/^ENV{SYSTEMD_ALIAS}=.*/# No LVM pvscan in dracut - lvmetad is not running yet/' \ - ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules - sed -i -e 's/^ENV{ID_MODEL}=.*//' ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules - sed -i -e 's/^ENV{SYSTEMD_WANTS}+\?=.*//' ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules + "${initdir}"/lib/udev/rules.d/69-dm-lvm-metad.rules + sed -i -e 's/^ENV{ID_MODEL}=.*//' "${initdir}"/lib/udev/rules.d/69-dm-lvm-metad.rules + sed -i -e 's/^ENV{SYSTEMD_WANTS}+\?=.*//' "${initdir}"/lib/udev/rules.d/69-dm-lvm-metad.rules else sed -i -e 's/.*lvm pvscan.*/# No LVM pvscan for in dracut - lvmetad is not running yet/' \ - ${initdir}/lib/udev/rules.d/69-dm-lvm-metad.rules + "${initdir}"/lib/udev/rules.d/69-dm-lvm-metad.rules fi fi @@ -121,11 +120,12 @@ install() { if [[ $hostonly ]] && find_binary lvs &> /dev/null; then for dev in "${!host_fs_types[@]}"; do - [ -e /sys/block/${dev#/dev/}/dm/name ] || continue - dev=$(< /sys/block/${dev#/dev/}/dm/name) - eval $(dmsetup splitname --nameprefixes --noheadings --rows "$dev" 2> /dev/null) + [[ -e /sys/block/${dev#/dev/}/dm/name ]] || continue + dev=$(< "/sys/block/${dev#/dev/}/dm/name") + eval "$(dmsetup splitname --nameprefixes --noheadings --rows "$dev" 2> /dev/null)" + # shellcheck disable=SC2015 [[ ${DM_VG_NAME} ]] && [[ ${DM_LV_NAME} ]] || continue - case "$(lvs --noheadings -o segtype ${DM_VG_NAME} 2> /dev/null)" in + case "$(lvs --noheadings -o segtype "${DM_VG_NAME}" 2> /dev/null)" in *thin* | *cache* | *era*) inst_multiple -o thin_dump thin_restore thin_check thin_repair \ cache_dump cache_restore cache_check cache_repair \