From 1133b5e07ac7647260ed742734266e836625049c Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Wed, 9 Nov 2011 09:04:59 +0100 Subject: [PATCH] 99fs-lib/module-setup.sh: only include fsck helper needed for hostonly for the host-only initramfs, check all relevant disks for the filesystem type and only include those fsck tools, which are needed. --- modules.d/99fs-lib/module-setup.sh | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/modules.d/99fs-lib/module-setup.sh b/modules.d/99fs-lib/module-setup.sh index 8e14a4e5..04b63f19 100755 --- a/modules.d/99fs-lib/module-setup.sh +++ b/modules.d/99fs-lib/module-setup.sh @@ -24,6 +24,35 @@ install() { xfs_db xfs_check xfs_repair e2fsck jfs_fsck reiserfsck btrfsck " + if [[ $hostonly ]]; then + print_fs_type() { get_fs_type /dev/block/$1; } + _rootdev=$(find_root_block_device) + if [[ $_rootdev ]]; then + _helpers="umount mount " + for fs in $(check_block_and_slaves print_fs_type "$_rootdev"); do + case "$fs" in + xfs) + _helpers+=" xfs_db xfs_repair xfs_check " + ;; + ext?) + _helpers+=" e2fsck " + ;; + jfs) + _helpers+=" jfs_fsck " + ;; + reiserfs) + _helpers+=" reiserfsck " + ;; + btrfs) + _helpers+=" btrfsck " + ;; + *) + [[ -x fsck.$fs ]] && _helpers+= " fsck.$fs " + ;; + esac + done + fi + fi else _helpers="$fscks" fi