diff options
author | maximilian attems <maks@debian.org> | 2010-04-04 05:30:31 +0200 |
---|---|---|
committer | maximilian attems <maks@debian.org> | 2010-04-04 05:31:49 +0200 |
commit | 9d6567169ea95ffad8a3c9a95218851821d147b8 (patch) | |
tree | 71f0bafdfb225060c5440c9b313d1a22389382b5 /scripts/functions | |
parent | 7ea605d62c6fca441a40820a573a2e0ef704f183 (diff) | |
download | initramfs-tools-9d6567169ea95ffad8a3c9a95218851821d147b8.tar.gz initramfs-tools-9d6567169ea95ffad8a3c9a95218851821d147b8.zip |
scripts/functions: add get_fstype() from scripts/local
allows wider usage.
(closes: #487409)
Reported-by: Christoph Anton Mitterer <calestyo@scientia.net>
Signed-off-by: maximilian attems <maks@debian.org>
Diffstat (limited to 'scripts/functions')
-rw-r--r-- | scripts/functions | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/scripts/functions b/scripts/functions index 0ecb1d6..9b864ae 100644 --- a/scripts/functions +++ b/scripts/functions @@ -256,6 +256,32 @@ parse_numeric() { ROOT=/dev/root } +# Parameter: device node to check +# Echos fstype to stdout +# Return value: indicates if an fs could be recognized +get_fstype () +{ + local FS FSTYPE FSSIZE RET + FS="${1}" + + # vol_id has a more complete list of file systems, + # but fstype is more robust + eval $(fstype "${FS}" 2> /dev/null) + if [ "$FSTYPE" = "unknown" ] && command -v blkid >/dev/null 2>&1 ; then + FSTYPE=$(blkid -o value -s TYPE "${FS}") + elif [ "$FSTYPE" = "unknown" ] && [ -x /lib/udev/vol_id ]; then + FSTYPE=$(/lib/udev/vol_id -t "${FS}" 2> /dev/null) + fi + RET=$? + + if [ -z "${FSTYPE}" ]; then + FSTYPE="unknown" + fi + + echo "${FSTYPE}" + return ${RET} +} + configure_networking() { if [ -n "${BOOTIF}" ]; then |