xstat: print collection values in debug mode
authorMichael Meffie <mmeffie@sinenomine.net>
Mon, 13 Dec 2010 19:53:50 +0000 (14:53 -0500)
committerJeffrey Altman <jaltman@openafs.org>
Sat, 4 Jun 2011 18:10:59 +0000 (11:10 -0700)
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 <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@openafs.org>

src/xstat/xstat_cm_test.c
src/xstat/xstat_fs_test.c

index 256382a..ed386d5 100644 (file)
@@ -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 ? */
index 672944a..76f6842 100644 (file)
@@ -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();