windows-afsd-init-20080902
[openafs.git] / src / WINNT / afsd / afsd_init.c
index d22fb1e..8afab3d 100644 (file)
@@ -561,6 +561,7 @@ int afsd_InitCM(char **reasonP)
     DWORD rx_enable_peer_stats;
     DWORD rx_enable_process_stats;
     DWORD rx_udpbufsize = -1;
+    DWORD lockOrderValidation;
     long traceBufSize;
     long maxcpus;
     long ltt, ltto;
@@ -625,6 +626,19 @@ int afsd_InitCM(char **reasonP)
         osi_panic(buf, __FILE__, __LINE__);
     }
 
+    dummyLen = sizeof(lockOrderValidation);
+    code = RegQueryValueEx(parmKey, "LockOrderValidation", NULL, NULL,
+                            (BYTE *) &lockOrderValidation, &dummyLen);
+    if (code != ERROR_SUCCESS) {
+#ifdef DEBUG
+        lockOrderValidation = 1;
+#else
+        lockOrderValidation = 0;
+#endif
+    }
+    osi_SetLockOrderValidation(lockOrderValidation);
+    afsi_log("Lock Order Validation %s", lockOrderValidation ? "On" : "Off");
+
     dummyLen = sizeof(maxcpus);
     code = RegQueryValueEx(parmKey, "MaxCPUs", NULL, NULL,
                             (BYTE *) &maxcpus, &dummyLen);
@@ -1053,12 +1067,14 @@ int afsd_InitCM(char **reasonP)
     }
     if (rx_nojumbo)
         afsi_log("RX Jumbograms are disabled");
+    else
+        afsi_log("RX Jumbograms are enabled");
 
     dummyLen = sizeof(rx_extraPackets);
     code = RegQueryValueEx(parmKey, "RxExtraPackets", NULL, NULL,
                            (BYTE *) &rx_extraPackets, &dummyLen);
     if (code != ERROR_SUCCESS) {
-        rx_extraPackets = 120;
+        rx_extraPackets = (numBkgD + numSvThreads + 5) * 64;
     }
     if (rx_extraPackets)
         afsi_log("RX extraPackets is %d", rx_extraPackets);
@@ -1069,7 +1085,7 @@ int afsd_InitCM(char **reasonP)
     if (code != ERROR_SUCCESS) {
         rx_udpbufsize = 256*1024;
     }
-    if (rx_udpbufsize)
+    if (rx_udpbufsize != -1)
         afsi_log("RX udpbufsize is %d", rx_udpbufsize);
 
     dummyLen = sizeof(rx_mtu);
@@ -1382,6 +1398,8 @@ int afsd_ShutdownCM(void)
 {
     cm_ReleaseSCache(cm_data.rootSCachep);
 
+    cm_shutdown = 1;
+
     return 0;
 }
 
@@ -1681,8 +1699,8 @@ OpenDumpFile(void)
 void 
 GenerateMiniDump(PEXCEPTION_POINTERS ep)
 {
-       if (IsDebuggerPresent())
-               return;
+    if (IsDebuggerPresent())
+        return;
 
     if (ep == NULL) 
     {