From c3eee5410b6465c0e132364b9827934ea2b7b334 Mon Sep 17 00:00:00 2001 From: Derrick Brashear Date: Fri, 19 Oct 2001 19:52:28 +0000 Subject: [PATCH] cache-server-inlinebulk-support-and-enable-inlinebulk-20011019 expand struct server's "flags" to unsigned int from char assume inlinebulk and turn off on first failure ==================== This delta was composed from multiple commits as part of the CVS->Git migration. The checkin message with each commit was inconsistent. The following are the additional commit messages. ==================== fix precedence error --- src/afs/VNOPS/afs_vnop_lookup.c | 24 +++++++++++++----------- src/afs/afs.h | 3 ++- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/afs/VNOPS/afs_vnop_lookup.c b/src/afs/VNOPS/afs_vnop_lookup.c index 88bd4c106b..d2bd0900f4 100644 --- a/src/afs/VNOPS/afs_vnop_lookup.c +++ b/src/afs/VNOPS/afs_vnop_lookup.c @@ -608,20 +608,22 @@ tagain: #ifdef RX_ENABLE_LOCKS AFS_GUNLOCK(); #endif /* RX_ENABLE_LOCKS */ -#ifdef notdef - code = RXAFS_InlineBulkStatus(tcp->id, &fidParm, &statParm, - &cbParm, &volSync); - if (code == RXGEN_OPCODE) { -#endif + + if (!(tcp->srvr->server->flags & SNO_INLINEBULK)) { + code = RXAFS_InlineBulkStatus(tcp->id, &fidParm, &statParm, + &cbParm, &volSync); + if (code == RXGEN_OPCODE) { + tcp->srvr->server->flags |= SNO_INLINEBULK; + inlinebulk = 0; + code = RXAFS_BulkStatus(tcp->id, &fidParm, &statParm, + &cbParm, &volSync); + } else + inlinebulk=1; + } else { + inlinebulk=0; code = RXAFS_BulkStatus(tcp->id, &fidParm, &statParm, &cbParm, &volSync); - inlinebulk=0; -#ifdef notdef - } else { - inlinebulk=1; } -#endif - #ifdef RX_ENABLE_LOCKS AFS_GLOCK(); #endif /* RX_ENABLE_LOCKS */ diff --git a/src/afs/afs.h b/src/afs/afs.h index d1918d5367..2424c40383 100644 --- a/src/afs/afs.h +++ b/src/afs/afs.h @@ -329,6 +329,7 @@ struct srvAddr { #define SRVR_ISDOWN 0x20 #define SRVR_MULTIHOMED 0x40 #define SRVR_ISGONE 0x80 +#define SNO_INLINEBULK 0x100 struct server { union { @@ -356,7 +357,7 @@ struct server { afs_int32 numDowntimeIncidents; /* # (completed) downtime incidents */ afs_int32 sumOfDowntimes; /* Total downtime experienced, in seconds */ struct srvAddr *addr; - char flags; /* Misc flags*/ + afs_uint32 flags; /* Misc flags*/ }; #define afs_PutServer(servp, locktype)