On 07/07/2017 at 11:21 AM, Dave Young wrote:
Hi Xunlei,
On 07/06/17 at 02:37pm, Xunlei Pang wrote:
> 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))
Since we do not differentiate the return value, the we can just
return 1 below, we can add think to add it later if we really
need it..
ok
> + [ -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"
The $device is probably a stacked device which is not obvious as an dump
target, how about:
echo "Error: Can not save vmcore because device $device is unresettable"
Ah, you are right, will improve, thanks!
Regards,
Xunlei
> 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
> _______________________________________________
> kexec mailing list -- kexec(a)lists.fedoraproject.org
> To unsubscribe send an email to kexec-leave(a)lists.fedoraproject.org
Thanks
Dave