]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
fix(lvm): shellcheck for modules.d/90lvm
authorHarald Hoyer <harald@redhat.com>
Fri, 26 Mar 2021 09:29:21 +0000 (10:29 +0100)
committerHarald Hoyer <harald@hoyer.xyz>
Mon, 29 Mar 2021 08:51:34 +0000 (10:51 +0200)
modules.d/90lvm/.shchkdir [new file with mode: 0644]
modules.d/90lvm/lvm_scan.sh
modules.d/90lvm/module-setup.sh

diff --git a/modules.d/90lvm/.shchkdir b/modules.d/90lvm/.shchkdir
new file mode 100644 (file)
index 0000000..e69de29
index f336366ac9935a7ebb803f6e32f6f1d49ff3028f..c42f97d50afd569331bd9060e885ae0f2b3525d5 100755 (executable)
@@ -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
 
index 7c53352b6d7afd3fb8f5dba464c5353dc69c57c0..e1e6c582947ac8151c14d9ea2b50b0a5c29ed9d3 100755 (executable)
@@ -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 \