Unlike root, the types of all other filesystems in /etc/fstab have historically been honoured and we should continue to do so. Signed-off-by: Ben Hutchings <ben@decadent.org.uk> --- scripts/functions | 6 +++++- scripts/local | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/scripts/functions b/scripts/functions index 2c36ed2..990fe6c 100644 --- a/scripts/functions +++ b/scripts/functions @@ -306,17 +306,21 @@ resolve_device() { # Check a file system. # $1=device # $2=mountpoint (for diagnostics only) +# $3=type (may be "auto") _checkfs_once() { DEV="$1" NAME="$2" + TYPE="$3" if [ "$NAME" = "/" ] ; then NAME="root" fi FSCK_LOGFILE=/run/initramfs/fsck.log FSCK_STAMPFILE=/run/initramfs/fsck-${NAME#/} - TYPE=$(get_fstype "$1") + if [ "${TYPE}" = "auto" ]; then + TYPE="$(get_fstype "${DEV}")" + fi FSCKCODE=0 if ! command -v fsck >/dev/null 2>&1; then diff --git a/scripts/local b/scripts/local index af56e66..3558f7a 100644 --- a/scripts/local +++ b/scripts/local @@ -136,7 +136,7 @@ local_mount_root() # FIXME This has no error checking modprobe ${FSTYPE} - checkfs ${ROOT} root + checkfs ${ROOT} root "${FSTYPE}" # FIXME This has no error checking # Mount root @@ -166,7 +166,7 @@ local_mount_fs() modprobe "${MNT_TYPE}" if [ "$MNT_PASS" != 0 ]; then - checkfs "$MNT_FSNAME" "$MNT_DIR" + checkfs "$MNT_FSNAME" "$MNT_DIR" "${MNT_TYPE}" fi # FIXME This has no error checking
Attachment:
signature.asc
Description: Digital signature