[patch 10/13] s390: segment operation error codes.

From: Martin Schwidefsky
Date: Mon Apr 24 2006 - 11:05:51 EST


From: Gerald Schaefer <geraldsc@xxxxxxxxxx>

[patch 10/13] s390: segment operation error codes.

Print a warning with the z/VM error code if segment_load, segment_type
or segment_save fail to ease the problem determination.

Signed-off-by: Gerald Schaefer <geraldsc@xxxxxxxxxx>
Signed-off-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx>
---

arch/s390/mm/extmem.c | 19 ++++++++++++++++---
1 files changed, 16 insertions(+), 3 deletions(-)

diff -urpN linux-2.6/arch/s390/mm/extmem.c linux-2.6-patched/arch/s390/mm/extmem.c
--- linux-2.6/arch/s390/mm/extmem.c 2006-03-20 06:53:29.000000000 +0100
+++ linux-2.6-patched/arch/s390/mm/extmem.c 2006-04-24 16:47:27.000000000 +0200
@@ -192,6 +192,7 @@ query_segment_type (struct dcss_segment
diag_cc = dcss_diag (DCSS_SEGEXT, qin, &dummy, &vmrc);

if (diag_cc > 1) {
+ PRINT_WARN ("segment_type: diag returned error %ld\n", vmrc);
rc = dcss_diag_translate_rc (vmrc);
goto out_free;
}
@@ -553,7 +554,7 @@ segment_save(char *name)
int endpfn = 0;
char cmd1[160];
char cmd2[80];
- int i;
+ int i, response;

if (!MACHINE_IS_VM)
return;
@@ -576,8 +577,20 @@ segment_save(char *name)
segtype_string[seg->range[i].start & 0xff]);
}
sprintf(cmd2, "SAVESEG %s", name);
- cpcmd(cmd1, NULL, 0, NULL);
- cpcmd(cmd2, NULL, 0, NULL);
+ response = 0;
+ cpcmd(cmd1, NULL, 0, &response);
+ if (response) {
+ PRINT_ERR("segment_save: DEFSEG failed with response code %i\n",
+ response);
+ goto out;
+ }
+ cpcmd(cmd2, NULL, 0, &response);
+ if (response) {
+ PRINT_ERR("segment_save: SAVESEG failed with response code %i\n",
+ response);
+ goto out;
+ }
+out:
spin_unlock(&dcss_lock);
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/