From 11cec9e764eb4bc47e61eb9475b1776d9e58bc87 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Tue, 15 May 2007 21:19:37 +0000 Subject: [PATCH] windows-fs-getcacheparms-20070515 fix output of cache parms now that they are 64-bit --- src/WINNT/afsd/cm_ioctl.h | 5 +++++ src/WINNT/afsd/fs.c | 13 ++++++------- src/WINNT/afsd/smb_iocons.h | 5 ----- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/WINNT/afsd/cm_ioctl.h b/src/WINNT/afsd/cm_ioctl.h index 01c7b7de2a..bfc98ef4c1 100644 --- a/src/WINNT/afsd/cm_ioctl.h +++ b/src/WINNT/afsd/cm_ioctl.h @@ -40,6 +40,11 @@ typedef struct cm_SSetPref { struct cm_SPref servers[1];/* we overrun this array intentionally...*/ } cm_SSetPref_t; +#define CM_IOCTLCACHEPARMS 16 +typedef struct cm_cacheParms { + afs_uint64 parms[CM_IOCTLCACHEPARMS]; +} cm_cacheParms_t; + #define MAXNUMSYSNAMES 16 /* max that current constants allow */ #define MAXSYSNAME 128 /* max sysname (i.e. @sys) size */ diff --git a/src/WINNT/afsd/fs.c b/src/WINNT/afsd/fs.c index 3286dfd988..6c012f5baa 100644 --- a/src/WINNT/afsd/fs.c +++ b/src/WINNT/afsd/fs.c @@ -2277,28 +2277,27 @@ SetCacheSizeCmd(struct cmd_syndesc *as, char *arock) return 0; } -#define MAXGCSIZE 16 static int GetCacheParmsCmd(struct cmd_syndesc *as, char *arock) { afs_int32 code; struct ViceIoctl blob; - afs_uint64 parms[MAXGCSIZE]; + cm_cacheParms_t parms; - memset(parms, 0, sizeof(parms)); + memset(&parms, 0, sizeof(parms)); blob.in = NULL; blob.in_size = 0; blob.out_size = sizeof(parms); - blob.out = (char *) parms; + blob.out = (char *) &parms; code = pioctl(0, VIOCGETCACHEPARMS, &blob, 1); if (code) { Die(errno, NULL); return 1; } - printf("AFS using %d of the cache's available %d 1K byte blocks.\n", - parms[1], parms[0]); - if (parms[1] > parms[0]) + printf("AFS using %I64u of the cache's available %I64u 1K byte blocks.\n", + parms.parms[1], parms.parms[0]); + if (parms.parms[1] > parms.parms[0]) printf("[Cache guideline temporarily deliberately exceeded; it will be adjusted down but you may wish to increase the cache size.]\n"); return 0; } diff --git a/src/WINNT/afsd/smb_iocons.h b/src/WINNT/afsd/smb_iocons.h index 8676029a9c..b40f0b46cd 100644 --- a/src/WINNT/afsd/smb_iocons.h +++ b/src/WINNT/afsd/smb_iocons.h @@ -41,11 +41,6 @@ struct sbstruct { int sb_default; }; -#define CM_IOCTLCACHEPARMS 16 -typedef struct cm_cacheParms { - afs_uint64 parms[CM_IOCTLCACHEPARMS]; -} cm_cacheParms_t; - /* set cell flags */ #define CM_SETCELLFLAG_SUID 2