diff --git a/dracut-kdump.sh b/dracut-kdump.sh index 8828472..2999073 100755 --- a/dracut-kdump.sh +++ b/dracut-kdump.sh @@ -53,23 +53,9 @@ add_dump_code() DUMP_INSTRUCTION=$1 } -get_mp() -{ - local _mp - local dev mp fs opts rest - while read dev mp fs opts rest; do - if [ "$dev" = "$1" ]; then - _mp="$mp" - break - fi - done < /proc/mounts - echo "$_mp" -} - dump_fs() { - local _dev=$1 - local _mp=`get_mp $_dev` + local _mp=$(findmnt -k -f -n -r -o TARGET $1) if [ -z "$_mp" ]; then echo "kdump: error: Dump target $1 is not mounted." diff --git a/mkdumprd b/mkdumprd index fbe7f67..43e4689 100644 --- a/mkdumprd +++ b/mkdumprd @@ -78,13 +78,22 @@ get_rootdev() { } to_mount() { - local _dev=$(to_dev_name $1) - echo "$(grep "$_dev" /proc/mounts | cut -d' ' -f1-4)" + local _dev _mntopts _pdev + _dev=$(to_dev_name $1) + _mntopts=$(findmnt -k -f -n -r -o TARGET,FSTYPE,OPTIONS $_dev) + [ -z "$_mntopts" ] && return + #for non-nfs _dev converting to use udev persistent name + if [ -b "$_dev" ]; then + _pdev="$(get_persistent_dev $_dev)" + else + _pdev=$_dev + fi + + echo "$_pdev $_mntopts" } to_mount_point() { - local _dev=$(to_dev_name $1) - echo "$(grep "$_dev" /proc/mounts | cut -d' ' -f2)" + echo $(findmnt -k -f -n -r -o TARGET $1) } #Function: get_ssh_size