dracut-functions.sh: add find_dev_fsopts()

master
Harald Hoyer 2013-08-15 11:14:14 +02:00
parent 69f7ed9610
commit 97af51db9d
1 changed files with 24 additions and 3 deletions

View File

@ -261,9 +261,9 @@ else
fi fi


# get_fs_env <device> # get_fs_env <device>
# Get and set the ID_FS_TYPE variable from udev for a device. # Get and the ID_FS_TYPE variable from udev for a device.
# Example: # Example:
# $ get_fs_env /dev/sda2; echo $ID_FS_TYPE # $ get_fs_env /dev/sda2
# ext4 # ext4
get_fs_env() { get_fs_env() {
local evalstr local evalstr
@ -439,9 +439,30 @@ find_dev_fstype() {
done; return 1; } && return 0 done; return 1; } && return 0


return 1 return 1

} }


# find_dev_fsopts <device>
# Echo the filesystem options for a given device.
# /proc/self/mountinfo is taken as the primary source of information
# and /etc/fstab is used as a fallback.
# Example:
# $ find_dev_fsopts /dev/sda2
# rw,relatime,discard,data=ordered
find_dev_fsopts() {
local _find_dev _opts
_find_dev="$1"
if ! [[ "$_find_dev" = /dev* ]]; then
[[ -b "/dev/block/$_find_dev" ]] && _find_dev="/dev/block/$_find_dev"
fi

if [[ $use_fstab != yes ]]; then
findmnt -e -v -n -o 'OPTIONS' --source "$_find_dev" 2>/dev/null && return 0
fi

findmnt --fstab -e -v -n -o 'OPTIONS' --source "$_find_dev"
}


# finds the major:minor of the block device backing the root filesystem. # finds the major:minor of the block device backing the root filesystem.
find_root_block_device() { find_block_device /; } find_root_block_device() { find_block_device /; }