# inherits: _ret _drv _out
fsck_tail() {
- [ $_ret -gt 0 ] && warn "$_drv returned with $_ret"
- if [ $_ret -ge 4 ]; then
+ [ "$_ret" -gt 0 ] && warn "$_drv returned with $_ret"
+ if [ "$_ret" -ge 4 ]; then
[ -n "$_out" ] && echo "$_out" | vwarn
fsck_ask_err
else
[ -n "$_out" ] && echo "$_out" | vinfo
- [ $_ret -ge 2 ] && fsck_ask_reboot
+ [ "$_ret" -ge 2 ] && fsck_ask_reboot
fi
}
local _out
if ! strglobin "$_fop" "-[ynap]"; then
- _fop="-a ${_fop}"
+ _fop="-a${_fop:+ "$_fop"}"
fi
info "issuing $_drv $_fop $_dev"
# we enforce non-interactive run, so $() is fine
- _out=$($_drv $_fop "$_dev")
+ _out=$($_drv "$_fop" "$_dev")
_ret=$?
fsck_tail
# note, we don't enforce -a here, thus fsck is being run (in theory)
# interactively; otherwise some tool might complain about lack of terminal
# (and using -a might not be safe)
+ # shellcheck disable=SC2086
fsck $_fop "$_dev" > /dev/console 2>&1
_ret=$?
fsck_tail
local FSTAB_FILE=/etc/fstab.empty
local _dev="$1"
local _fs="${2:-auto}"
- local _fsopts="$3"
local _fop="$4"
local _drv
[ $# -lt 2 ] && return 255
# if UUID= marks more than one device, take only the first one
- [ -e "$_dev" ] || _dev=$(devnames "$_dev" | while read line || [ -n "$line" ]; do if [ -n "$line" ]; then
- echo $line
+ [ -e "$_dev" ] || _dev=$(devnames "$_dev" | while read -r line || [ -n "$line" ]; do if [ -n "$line" ]; then
+ echo "$line"
break
fi; done)
[ -e "$_dev" ] || return 255
local _fs
_fs=$(udevadm info --query=env --name="$_dev" \
- | while read line || [ -n "$line" ]; do
- if str_starts $line "ID_FS_TYPE="; then
- echo ${line#ID_FS_TYPE=}
+ | while read -r line || [ -n "$line" ]; do
+ if str_starts "$line" "ID_FS_TYPE="; then
+ echo "${line#ID_FS_TYPE=}"
break
fi
done)
}
echo_fs_helper() {
- local dev=$1 fs=$2
+ local fs=$2
case "$fs" in
xfs)
echo -n " xfs_db xfs_repair xfs_check xfs_metadump "
}
include_fs_helper_modules() {
- local dev=$1 fs=$2
+ local fs=$2
case "$fs" in
xfs | btrfs | ext4)
instmods crc32c
local _helpers
inst "$moddir/fs-lib.sh" "/lib/fs-lib.sh"
- > ${initdir}/etc/fstab.empty
+ : > "${initdir}"/etc/fstab.empty
[[ $nofscks == "yes" ]] && return
inst_simple /etc/e2fsck.conf
fi
- inst_multiple -o $_helpers fsck
+ inst_multiple -o "$_helpers" fsck
}