From 13aeb1dcaee5ad4e95477464860963788c5d1469 Mon Sep 17 00:00:00 2001 From: Michael Meffie Date: Mon, 13 Dec 2010 14:53:50 -0500 Subject: [PATCH] xstat: print collection values in debug mode Print the values of the integers returned in the collection data when the -debug option is given to xstat_fs_test and xstat_cm_test test programs. This allows us to at least see what the unformatted values are when there is a mismatch in timeval sizes between the host and client (aka the 32/64 bit xstat bug). This change could break scripts which call the xstat test programs with the debug option. New debug output are prepended with 'debug:' to be easily ignored. Change-Id: I12d8d27306c50fb9f35ade2a080b3bc20542b63f Reviewed-on: http://gerrit.openafs.org/2878 Reviewed-by: Derrick Brashear Tested-by: BuildBot Reviewed-by: Jeffrey Altman --- src/xstat/xstat_cm_test.c | 13 +++++++++++++ src/xstat/xstat_fs_test.c | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/src/xstat/xstat_cm_test.c b/src/xstat/xstat_cm_test.c index 256382a6ba..ed386d5e95 100644 --- a/src/xstat/xstat_cm_test.c +++ b/src/xstat/xstat_cm_test.c @@ -1124,6 +1124,19 @@ CM_Handler(void) return (0); } + if (debugging_on) { + int i; + int numInt32s = xstat_cm_Results.data.AFSCB_CollData_len; + afs_int32 *entry = xstat_cm_Results.data.AFSCB_CollData_val; + + printf("debug: got collection number %d\n", xstat_cm_Results.collectionNumber); + printf("debug: collection data length is %d\n", numInt32s); + for (i = 0; i < numInt32s; i++) { + printf("debug: entry %d %u\n", i, entry[i]); + } + printf("\n"); + } + switch (xstat_cm_Results.collectionNumber) { case AFSCB_XSTATSCOLL_CALL_INFO: /* Why was this commented out in 3.3 ? */ diff --git a/src/xstat/xstat_fs_test.c b/src/xstat/xstat_fs_test.c index 672944a40d..76f684234f 100644 --- a/src/xstat/xstat_fs_test.c +++ b/src/xstat/xstat_fs_test.c @@ -535,6 +535,19 @@ FS_Handler(void) return (0); } + if (debugging_on) { + int i; + int numInt32s = xstat_fs_Results.data.AFS_CollData_len; + afs_int32 *entry = xstat_fs_Results.data.AFS_CollData_val; + + printf("debug: got collection number %d\n", xstat_fs_Results.collectionNumber); + printf("debug: collection data length is %d\n", numInt32s); + for (i = 0; i < numInt32s; i++) { + printf("debug: entry %d %u\n", i, entry[i]); + } + printf("\n"); + } + switch (xstat_fs_Results.collectionNumber) { case AFS_XSTATSCOLL_CALL_INFO: PrintCallInfo();