From: Harald Hoyer Date: Thu, 26 Jul 2012 15:00:07 +0000 (+0200) Subject: dracut-functions.sh: add find_mp_fstype() X-Git-Tag: 023~72 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=81672479afb4806568f1dea7fac9b8d7271c71f6;p=thirdparty%2Fdracut.git dracut-functions.sh: add find_mp_fstype() --- diff --git a/dracut-functions.sh b/dracut-functions.sh index 14c100d04..03323511e 100755 --- a/dracut-functions.sh +++ b/dracut-functions.sh @@ -357,6 +357,33 @@ find_dev_fstype() { return 1 } +# find_dev_fstype +# Echo the filesystem type for a given device. +# /proc/self/mountinfo is taken as the primary source of information +# and /etc/fstab is used as a fallback. +# No newline is appended! +# Example: +# $ find_dev_fstype /dev/sda2;echo +# ext4 +find_mp_fstype() { + local _x _mpt _majmin _dev _fs _maj _min + while read _x _x _majmin _x _mpt _x _x _fs _dev _x; do + [[ $_mpt = $1 ]] || continue + echo -n $_fs; + return 0; + done < /proc/self/mountinfo + + # fall back to /etc/fstab + while read _dev _mpt _fs _x; do + [[ $_mpt = $1 ]] || continue + echo -n $_fs; + return 0; + done < /etc/fstab + + return 1 +} + + # finds the major:minor of the block device backing the root filesystem. find_root_block_device() { find_block_device /; }