summaryrefslogtreecommitdiff
path: root/scripts/functions
diff options
context:
space:
mode:
authormaximilian attems <maks@debian.org>2010-04-04 05:30:31 +0200
committermaximilian attems <maks@debian.org>2010-04-04 05:31:49 +0200
commit9d6567169ea95ffad8a3c9a95218851821d147b8 (patch)
tree71f0bafdfb225060c5440c9b313d1a22389382b5 /scripts/functions
parent7ea605d62c6fca441a40820a573a2e0ef704f183 (diff)
downloadinitramfs-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/functions26
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