cache-server-inlinebulk-support-and-enable-inlinebulk-20011019
authorDerrick Brashear <shadow@dementia.org>
Fri, 19 Oct 2001 19:52:28 +0000 (19:52 +0000)
committerDerrick Brashear <shadow@dementia.org>
Fri, 19 Oct 2001 19:52:28 +0000 (19:52 +0000)
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
src/afs/afs.h

index 88bd4c1..d2bd090 100644 (file)
@@ -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 */
index d1918d5..2424c40 100644 (file)
@@ -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)