86 lines
2.8 KiB
Diff
86 lines
2.8 KiB
Diff
|
From 4fe0e76e1d02787b4cf60eafd2fb3667897becf4 Mon Sep 17 00:00:00 2001
|
||
|
From: Michael Bringmann <mwb@linux.vnet.ibm.com>
|
||
|
Date: Tue, 23 Jul 2019 15:58:21 -0500
|
||
|
Subject: [PATCH 1/1] powerpc-utils: Suppress errors reading kernel
|
||
|
files
|
||
|
|
||
|
A problem was observed with the evaluation of the '${devspec}'
|
||
|
by the script 'ofpathname'. This patch provided improved
|
||
|
handling of errors within that script, and by some of the
|
||
|
follow-on uses of the tool by the 'bootlist' script.
|
||
|
|
||
|
* Deal with error messages returned sometimes by evaluation
|
||
|
of ${devspec} in 'ofpathname'.
|
||
|
* Strip embedded nulls from values provided by kernel files,
|
||
|
especially, /proc/device-tree${devspec}/namespace/name,
|
||
|
in 'ofpathname'.
|
||
|
* Redirect more error messages to /dev/null
|
||
|
|
||
|
Signed-off-by: Michael Bringmann <mwb@linux.vnet.ibm.com>
|
||
|
---
|
||
|
scripts/bootlist | 8 ++++----
|
||
|
scripts/ofpathname | 4 ++--
|
||
|
2 files changed, 6 insertions(+), 6 deletions(-)
|
||
|
|
||
|
diff --git a/scripts/bootlist b/scripts/bootlist
|
||
|
index 65926d7..5ce20cf 100755
|
||
|
--- a/scripts/bootlist
|
||
|
+++ b/scripts/bootlist
|
||
|
@@ -169,7 +169,7 @@ get_logical_device_name()
|
||
|
local devname=$1
|
||
|
local logical_name
|
||
|
|
||
|
- logical_name=`$OFPATHNAME -l $devname 2>/dev/null`
|
||
|
+ logical_name=`$OFPATHNAME -l $devname 2>/dev/null | tr -d '\000'`
|
||
|
if [[ $? -ne 0 ]]; then
|
||
|
echo ""
|
||
|
else
|
||
|
@@ -207,11 +207,11 @@ show_bootlist()
|
||
|
local devlist=$1
|
||
|
local i
|
||
|
|
||
|
- for i in `$NVRAM --print-config=${devlist} | sed 's/ /\n/g'`; do
|
||
|
+ for i in `$NVRAM --print-config=${devlist} 2> /dev/null | sed 's/ /\n/g'`; do
|
||
|
if [[ $TRANSLATE_NAMES = "yes" ]]; then
|
||
|
name=`get_logical_device_name $i`
|
||
|
if [[ -z $name ]]; then
|
||
|
- echo "Could not translate $i to logical device name"
|
||
|
+ echo "Could not translate $i to logical device name" 2>&1
|
||
|
else
|
||
|
case $name in
|
||
|
eth*) parse_eth_info $name $i ;;
|
||
|
@@ -230,7 +230,7 @@ show_bootlist()
|
||
|
|
||
|
. $PSERIES_PLATFORM
|
||
|
if [[ $platform != $PLATFORM_PSERIES_LPAR ]]; then
|
||
|
- echo "bootlist: is not supported on the $platform_name platform"
|
||
|
+ echo "bootlist: is not supported on the $platform_name platform" 2>&1
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
diff --git a/scripts/ofpathname b/scripts/ofpathname
|
||
|
index c37c6bd..09c0209 100755
|
||
|
--- a/scripts/ofpathname
|
||
|
+++ b/scripts/ofpathname
|
||
|
@@ -656,7 +656,7 @@ l2of_nvme()
|
||
|
|
||
|
goto_dir $PWD "device/devspec"
|
||
|
|
||
|
- devspec=`$CAT $PWD/device/devspec`
|
||
|
+ devspec=`$CAT $PWD/device/devspec | tr -d '\000'`
|
||
|
if [[ -n $devspec ]]; then
|
||
|
found=1
|
||
|
break
|
||
|
@@ -681,7 +681,7 @@ l2of_nvme()
|
||
|
|
||
|
# Device type is usually 'namespace'.
|
||
|
# Get it from device-tree just in case.
|
||
|
- devtype=`$CAT /proc/device-tree${devspec}/namespace/name`
|
||
|
+ devtype=`$CAT /proc/device-tree${devspec}/namespace/name | tr -d '\000'` 2> /dev/null
|
||
|
if [[ -z $devtype ]]; then
|
||
|
err $ERR_NO_OFPATH
|
||
|
fi
|
||
|
--
|
||
|
1.8.3.1
|
||
|
|