Resolves: bz1451717
https://bugzilla.redhat.com/1451717
Now that we have get_kdump_targets(), use it to simplify the code.
Signed-off-by: Xunlei Pang <xlpang(a)redhat.com>
---
mkdumprd | 31 ++++++++-----------------------
1 file changed, 8 insertions(+), 23 deletions(-)
diff --git a/mkdumprd b/mkdumprd
index 337ae87..6956d8e 100644
--- a/mkdumprd
+++ b/mkdumprd
@@ -295,22 +295,15 @@ get_override_resettable()
# $1: function name
for_each_block_target()
{
- local dev majmin
+ local index dev majmin
- #check dump target
- dev=$(get_block_dump_target)
-
- if [ -n "$dev" ]; then
- majmin=$(get_maj_min $dev)
- check_block_and_slaves $1 $majmin && return 1
- fi
-
- #check rootfs when default action dump_to_rootfs is set
- dev=$(get_default_action_target)
- if [ -n "$dev" ]; then
+ index=0
+ for dev in $(get_kdump_targets); do
+ index=$((index+1))
+ [ -b "$dev" ] || continue
majmin=$(get_maj_min $dev)
- check_block_and_slaves $1 $majmin && return 2
- fi
+ check_block_and_slaves $1 $majmin && return $index
+ done
return 0
}
@@ -329,7 +322,7 @@ is_unresettable()
resettable="$(cat $path)"
[ $resettable -eq 0 -a "$OVERRIDE_RESETTABLE" -eq 0 ] && {
local device=$(udevadm info --query=all --path=/sys/dev/block/$1 | awk -F=
'/DEVNAME/{print $2}')
- echo "Device $device is unresettable"
+ echo "Error: Can not save vmcore to unresettable target $device"
return 0
}
fi
@@ -350,14 +343,6 @@ check_resettable()
[ $_ret -eq 0 ] && return
- if [ $_ret -eq 1 ]; then
- _target=$(get_block_dump_target)
- perror "Can not save vmcore to target device $_target . This device can not
be initialized in kdump kernel as it is not resettable"
- elif [ $_ret -eq 2 ]; then
- _target=$(get_default_action_target)
- perror "Rootfs device $_target is not resettable, can not be used as the
default target, please specify a default action"
- fi
-
return 1
}
--
1.8.3.1