From d93a0307e6d86338de0b6da456ff8d23673c91c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Wed, 21 Aug 2013 12:18:42 +0200 Subject: [PATCH] - dbginfo.sh: Avoiding exclusion list for pipes in sysfs (#996732) - zipl: Fix zipl "--force" option for DASD multi-volume dump (#997361) --- s390-tools-1.23.0-fedora.patch | 125 ++++++++++++++++++++++++++++++++- s390utils.spec | 6 +- 2 files changed, 128 insertions(+), 3 deletions(-) diff --git a/s390-tools-1.23.0-fedora.patch b/s390-tools-1.23.0-fedora.patch index 89027a1..8a55362 100644 --- a/s390-tools-1.23.0-fedora.patch +++ b/s390-tools-1.23.0-fedora.patch @@ -1,7 +1,7 @@ From 9b225fac81186176075f673dfe5cf8e373b2068a Mon Sep 17 00:00:00 2001 From: Dan Horak Date: Sun, 20 Jul 2008 09:24:05 +0200 -Subject: [PATCH 1/2] s390-tools-1.5.3-zipl-zfcpdump-2 +Subject: [PATCH 1/4] s390-tools-1.5.3-zipl-zfcpdump-2 --- common.mak | 4 ++-- @@ -29,7 +29,7 @@ index 44adc6e..4373da5 100644 From a3d9221076f9eb7cc8434baac71327f786351c63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dan=20Hor=C3=A1k?= Date: Thu, 23 Apr 2009 11:46:01 +0200 -Subject: [PATCH 2/2] s390-tools-1.8.1-fdasd-su +Subject: [PATCH 2/4] s390-tools-1.8.1-fdasd-su --- fdasd/fdasd.c | 10 ++++++---- @@ -59,3 +59,124 @@ index ba22475..f2ac417 100644 -- 1.8.1.4 + +From d13c754f68ea838a47b8125006b9b493cfbbb7f4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Dan=20Hor=C3=A1k?= +Date: Wed, 21 Aug 2013 12:13:30 +0200 +Subject: [PATCH 3/4] dbginfo.sh: Avoiding exclusion list for pipes in sysfs + +Description: dbginfo.sh: Avoiding exclusion list for pipes in sysfs +Symptom: The dbginfo.sh script hangs +Problem: The trace pipes for CPU tracing in sysfs can potentially block + dbginfo. +Solution: Switch over to make use of dd with the nonblock option to savely + collect the whole sysfs without keeping an exclusion list up to + date +Reproduction: Run dbginfo on a kernel that provides trace_pipe and + trace_pipe_raw +--- + scripts/dbginfo.sh | 15 ++++++--------- + 1 file changed, 6 insertions(+), 9 deletions(-) + +diff --git a/scripts/dbginfo.sh b/scripts/dbginfo.sh +index 6d07132..0ada40b 100755 +--- a/scripts/dbginfo.sh ++++ b/scripts/dbginfo.sh +@@ -181,8 +181,8 @@ fi + if test ${LINUX_SUPPORT_SYSFSDBF} -eq 1; then + if test -e /proc/s390dbf; then + PROCFILES="${PROCFILES}\ +- `find /proc/s390dbf -type f -not -path \"*/raw\" -not -path \"*/flush\" 2>/dev/null`\ +- " ++ `find /proc/s390dbf -type f -not -path \"*/raw\" -not -path \"*/flush\" 2>/dev/null`\ ++ " + fi + fi + +@@ -492,12 +492,9 @@ collect_sysfs() { + mkdir -p "${WORKPATH}${dir_name}" + done + +- find /sys -noleaf -type f -perm /444 \ +- -a -not -name "*trace_pipe" \ +- -a -not -path "*debug/hid*/events" \ +- -a -not -path "*debug/usb/usbmon/*" 2>/dev/null | while IFS= read -r file_name; do ++ find /sys -noleaf -type f -perm /444 2>/dev/null | while IFS= read -r file_name; do + echo " ${file_name}" +- cp -P --preserve=links -L --parents "${file_name}" "${WORKPATH}" ++ dd if="${file_name}" iflag=nonblock of="${WORKPATH}${file_name}" + done + + if test ${debugfs_mounted} -eq 1; then +@@ -574,7 +571,7 @@ call_run_command() { + + # check if command exists + if ! which "${raw_cmd}" >/dev/null 2>&1; then +- # check if command is a builtin ++ # check if command is a builtin + if ! command -v "${raw_cmd}" >/dev/null 2>&1; then + echo " WARNING: Command \"${raw_cmd}\" not available" >> "${logfile}" + echo >> "${logfile}" +@@ -722,7 +719,7 @@ environment_setup() + + if test -e "${WORKDIR_BASE}${SCRIPTNAME}".lock; then + print_alreadyrunning +- exit 1 ++ exit 1 + else + touch "${WORKDIR_BASE}${SCRIPTNAME}".lock + fi +-- +1.8.1.4 + + +From 7d540e7f40c731092ac655d1d38af7d69ceee706 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Dan=20Hor=C3=A1k?= +Date: Wed, 21 Aug 2013 12:13:58 +0200 +Subject: [PATCH 4/4] zipl: Fix zipl "--force" option for DASD multi-volume + dump + +Description: zipl: Fix zipl "--force" option for DASD multi-volume dump +Symptom: When specifying "--force" and afterwards the dump partition is + modified, for example by creating a swap partition, the dump + still fails with the message "Wrong signature". +Problem: The "larl" instruction was used to load an odd address which + results in an incorrect even address. +Solution: Load the correct even address. +Reproduction: 1) Create ECKD MV dump DASDs: + $ zipl -M mvdump.list --force + 2) Modify partitions: + $ dd if=/dev/zero of=/dev/dasdx1 + 3) Create dump + -> Should work with this fix +--- + zipl/boot/eckd2mvdump.S | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/zipl/boot/eckd2mvdump.S b/zipl/boot/eckd2mvdump.S +index f1cec78..529d6b3 100644 +--- a/zipl/boot/eckd2mvdump.S ++++ b/zipl/boot/eckd2mvdump.S +@@ -153,7 +153,7 @@ _dump_mem_64: + + .Lcheck_sign: + larl %r7,.Lforce +- tm 0(%r7),0x01 # was zipl --force specified? ++ tm 1(%r7),0x01 # was zipl --force specified? + bo .Lheaders-0b(%r13) # yes, skip signature check + llgf %r2,.Ldev_start_blk-0b(%r13) # start block of partition + lghi %r3,TMP_PAGE_START # destination of read operation +@@ -576,8 +576,9 @@ _ioblock_64: + .byte 0x85, 0x40, 0xa2, 0xa3, 0x81, 0x94, 0x97, 0xa2 + .byte 0x00 + +-.org (MVDUMP_TOOL_SIZE - 9) ++.org (MVDUMP_TOOL_SIZE - 10) + .Lforce: ++ .byte 0x00 + .byte 0x00 # is set to 0x01 by zipl -f + .Lmem_upper_limit: + .long 0xffffffff,0xffffffff # can be used for memsize=xxx +-- +1.8.1.4 + diff --git a/s390utils.spec b/s390utils.spec index 810325c..f4e635f 100644 --- a/s390utils.spec +++ b/s390utils.spec @@ -7,7 +7,7 @@ Name: s390utils Summary: Utilities and daemons for IBM System/z Group: System Environment/Base Version: 1.23.0 -Release: 2%{?dist} +Release: 3%{?dist} Epoch: 2 License: GPLv2 and GPLv2+ and CPL ExclusiveArch: s390 s390x @@ -734,6 +734,10 @@ User-space development files for the s390/s390x architecture. %changelog +* Wed Aug 21 2013 Dan HorĂ¡k - 2:1.23.0-3 +- dbginfo.sh: Avoiding exclusion list for pipes in sysfs (#996732) +- zipl: Fix zipl "--force" option for DASD multi-volume dump (#997361) + * Sun Aug 04 2013 Fedora Release Engineering - 2:1.23.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild