From e5a745ce776dd19d617c2025acb3e510585d4e82 Mon Sep 17 00:00:00 2001 From: Coiby Xu Date: Sat, 20 Feb 2021 11:55:52 +0800 Subject: [PATCH] mkdumprd: prompt the user to install nfs-utils when mounting NFS fs failed When nfs-utils is not installed, mounting as NFS fs would fail. Currently, the error message is not user-friendly, mount: /tmp/mkdumprd.HyPGpS/target: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount. helper program. kdump: Failed to mount on xxx for kdump preflight check. kdump: mkdumprd: failed to make kdump initrd Prompt the user to install nfs-utilsa in the error message, kdump: Failed to mount on xxx for kdump preflight check. Please make sure nfs-utils has been installed. Signed-off-by: Coiby Xu Acked-by: Kairui Song --- mkdumprd | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/mkdumprd b/mkdumprd index c34b79c..50ebdc8 100644 --- a/mkdumprd +++ b/mkdumprd @@ -185,6 +185,26 @@ check_save_path_fs() fi } +mount_failure() +{ + local _target=$1 + local _mnt=$2 + local _fstype=$3 + local msg="Failed to mount $_target" + + if [ -n "$_mnt" ]; then + msg="$msg on $_mnt" + fi + + msg="$msg for kdump preflight check." + + if [[ $_fstype = "nfs" ]]; then + msg="$msg Please make sure nfs-utils has been installed." + fi + + perror_exit "$msg" +} + check_user_configured_target() { local _target=$1 _cfg_fs_type=$2 _mounted @@ -210,7 +230,7 @@ check_user_configured_target() if ! is_mounted "$_mnt"; then if [[ $_opt = *",noauto"* ]]; then mount $_mnt - [ $? -ne 0 ] && perror_exit "Failed to mount $_target on $_mnt for kdump preflight check." + [ $? -ne 0 ] && mount_failure "$_target" "$_mnt" "$_fstype" _mounted=$_mnt else perror_exit "Dump target \"$_target\" is neither mounted nor configured as \"noauto\"" @@ -220,7 +240,7 @@ check_user_configured_target() _mnt=$MKDUMPRD_TMPMNT mkdir -p $_mnt mount $_target $_mnt -t $_fstype -o defaults - [ $? -ne 0 ] && perror_exit "Failed to mount $_target for kdump preflight check." + [ $? -ne 0 ] && mount_failure "$_target" "" "$_fstype" _mounted=$_mnt fi