File s390-tools-sles15sp4-dbginfo.sh-fix_vmcp_buffer.patch of Package s390-tools.30980

Subject: [PATCH] [BZ 200482] dbginfo.sh: fix vmcp buffer resizing
From: Joern Siglen <siglen@de.ibm.com>

Description:   dbginfo.sh: fix vmcp buffer evalutaion
Symptom:       vmcp buffer is not resized on longer output HCPQVD263E is logged
               in the zvm_runtime.out file
Problem:       vmcp command output will be truncated
Solution:      fix buffer resizing code
Reproduction:  run ./dbginfo  and check for no HCPQVD263E
Upstream-ID:   0c8be405cea1ca290e410b2787f9e94c7a27d544
Problem-ID:    200482

Upstream-Description:

              dbginfo.sh: fix vmcp buffer resizing

              the buffer sizing did not work any longer
              add explaining comments and rework the variable names for claritiy

              refering commit f7cc14753cc9d930af804e2ac3ce108a12145db6

              Reported-by: Mike Storzer <MSTORZER@de.ibm.com>
              Reviewed-by: Mario Held <mario.held@de.ibm.com>
              Signed-off-by: Joern Siglen <siglen@de.ibm.com>
              Signed-off-by: Jan Hoeppner <hoeppner@linux.ibm.com>


Signed-off-by: Joern Siglen <siglen@de.ibm.com>
---
 scripts/dbginfo.sh |   11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

--- a/scripts/dbginfo.sh
+++ b/scripts/dbginfo.sh
@@ -637,8 +637,8 @@ collect_vmcmdsout() {
     local vm_userid
     local module_loaded=1
     local ifs_orig="${IFS}"
-    local cp_buffer_size=2
-    local rc_buffer_size=2
+    local cp_buffer_size
+    local rc_buffer_check
 
     if echo "${RUNTIME_ENVIRONMENT}" | grep -qi "z/VM" >/dev/null 2>&1; then
 	pr_collect_output "z/VM"
@@ -663,12 +663,15 @@ collect_vmcmdsout() {
 
 	IFS=:
 	for vm_command in ${vm_cmds}; do
+	    # initialize buffer values for automatic resizing
+	    cp_buffer_size=2
+	    rc_buffer_check=2
 	    IFS="${ifs_orig}"
-	    while test ${rc_buffer_size} -eq 2 && test ${cp_buffer_size} -lt 1024; do
+	    while test ${rc_buffer_check} -eq 2 && test ${cp_buffer_size} -lt 1024; do
 		cp_buffer_size=$(( cp_buffer_size * 2 ))
 
 		eval ${cp_command} -b ${cp_buffer_size}k "${vm_command}" >/dev/null 2>&1
-		rc_buffer_size=$?
+		rc_buffer_check=$?
 	    done
 	    call_run_command "${cp_command} -b ${cp_buffer_size}k ${vm_command}" "${OUTPUT_FILE_VMCMD}"
 	    IFS=:
openSUSE Build Service is sponsored by