windows-misc-20070622
authorJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 22 Jun 2007 15:11:04 +0000 (15:11 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 22 Jun 2007 15:11:04 +0000 (15:11 +0000)
there were two sets of registry values that could be used to configure
the daemon thread check intervals.  keep the one that was documented
in the release notes and discard the other.

Add a registry value "daemonCheckOfflineVolInterval" to configure the
offline volume check interval.

Ensure that the cm_GetConn... functions initialized the output variables
to NULL on error.

src/WINNT/afsd/afsd_init.c
src/WINNT/afsd/cm_conn.c
src/WINNT/afsd/cm_daemon.c

index dc93891..c714263 100644 (file)
@@ -995,48 +995,6 @@ int afsd_InitCM(char **reasonP)
         afsi_log("RX Process Statistics gathering is enabled");
 
     dummyLen = sizeof(DWORD);
-    code = RegQueryValueEx(parmKey, "daemonCheckDownInterval", NULL, NULL,
-                           (BYTE *) &dwValue, &dummyLen);
-    if (code == ERROR_SUCCESS)
-       cm_daemonCheckDownInterval = dwValue;
-    afsi_log("daemonCheckDownInterval is %d", cm_daemonCheckDownInterval);
-
-    dummyLen = sizeof(DWORD);
-    code = RegQueryValueEx(parmKey, "daemonCheckUpInterval", NULL, NULL,
-                           (BYTE *) &dwValue, &dummyLen);
-    if (code == ERROR_SUCCESS)
-       cm_daemonCheckUpInterval = dwValue;
-    afsi_log("daemonCheckUpInterval is %d", cm_daemonCheckUpInterval);
-
-    dummyLen = sizeof(DWORD);
-    code = RegQueryValueEx(parmKey, "daemonCheckVolInterval", NULL, NULL,
-                           (BYTE *) &dwValue, &dummyLen);
-    if (code == ERROR_SUCCESS)
-       cm_daemonCheckVolInterval = dwValue;
-    afsi_log("daemonCheckVolInterval is %d", cm_daemonCheckVolInterval);
-
-    dummyLen = sizeof(DWORD);
-    code = RegQueryValueEx(parmKey, "daemonCheckCBInterval", NULL, NULL,
-                           (BYTE *) &dwValue, &dummyLen);
-    if (code == ERROR_SUCCESS)
-       cm_daemonCheckCBInterval = dwValue;
-    afsi_log("daemonCheckCBInterval is %d", cm_daemonCheckCBInterval);
-
-    dummyLen = sizeof(DWORD);
-    code = RegQueryValueEx(parmKey, "daemonCheckLockInterval", NULL, NULL,
-                           (BYTE *) &dwValue, &dummyLen);
-    if (code == ERROR_SUCCESS)
-       cm_daemonCheckLockInterval = dwValue;
-    afsi_log("daemonCheckLockInterval is %d", cm_daemonCheckLockInterval);
-
-    dummyLen = sizeof(DWORD);
-    code = RegQueryValueEx(parmKey, "daemonCheckTokenInterval", NULL, NULL,
-                           (BYTE *) &dwValue, &dummyLen);
-    if (code == ERROR_SUCCESS)
-       cm_daemonTokenCheckInterval = dwValue;
-    afsi_log("daemonCheckTokenInterval is %d", cm_daemonTokenCheckInterval);
-
-    dummyLen = sizeof(DWORD);
     code = RegQueryValueEx(parmKey, "CallBackPort", NULL, NULL,
                            (BYTE *) &dwValue, &dummyLen);
     if (code == ERROR_SUCCESS) {
index f162443..0cee8af 100644 (file)
@@ -938,9 +938,10 @@ long cm_ConnFromFID(struct cm_fid *fidp, struct cm_user *userp, cm_req_t *reqp,
     long code;
     cm_serverRef_t **serverspp;
 
+    *connpp = NULL;
+
     code = cm_GetServerList(fidp, userp, reqp, &serverspp);
     if (code) {
-        *connpp = NULL;
         return code;
     }
 
@@ -956,6 +957,8 @@ long cm_ConnFromVolume(struct cm_volume *volp, unsigned long volid, struct cm_us
     long code;
     cm_serverRef_t **serverspp;
 
+    *connpp = NULL;
+
     serverspp = cm_GetVolServers(volp, volid);
 
     code = cm_ConnByMServers(*serverspp, userp, reqp, connpp);
index 78a04f5..e5f1bab 100644 (file)
@@ -32,7 +32,7 @@ long cm_daemonCheckVolInterval   = 3600;
 long cm_daemonCheckCBInterval    = 60;
 long cm_daemonCheckLockInterval  = 60;
 long cm_daemonTokenCheckInterval = 180;
-long cm_daemonCheckBusyVolInterval = 600;
+long cm_daemonCheckOfflineVolInterval = 600;
 
 osi_rwlock_t cm_daemonLock;
 
@@ -240,46 +240,53 @@ cm_DaemonCheckInit(void)
        return;
 
     dummyLen = sizeof(DWORD);
-    code = RegQueryValueEx(parmKey, "DownServerCheckInterval", NULL, NULL,
+    code = RegQueryValueEx(parmKey, "daemonCheckDownInterval", NULL, NULL,
                            (BYTE *) &dummy, &dummyLen);
     if (code == ERROR_SUCCESS)
        cm_daemonCheckDownInterval = dummy;
-    
+    afsi_log("daemonCheckDownInterval is %d", cm_daemonCheckDownInterval);
+
     dummyLen = sizeof(DWORD);
-    code = RegQueryValueEx(parmKey, "UpServerCheckInterval", NULL, NULL,
+    code = RegQueryValueEx(parmKey, "daemonCheckUpInterval", NULL, NULL,
                            (BYTE *) &dummy, &dummyLen);
     if (code == ERROR_SUCCESS)
        cm_daemonCheckUpInterval = dummy;
-    
+    afsi_log("daemonCheckUpInterval is %d", cm_daemonCheckUpInterval);
+
     dummyLen = sizeof(DWORD);
-    code = RegQueryValueEx(parmKey, "VolumeCheckInterval", NULL, NULL,
+    code = RegQueryValueEx(parmKey, "daemonCheckVolInterval", NULL, NULL,
                            (BYTE *) &dummy, &dummyLen);
     if (code == ERROR_SUCCESS)
        cm_daemonCheckVolInterval = dummy;
-    
+    afsi_log("daemonCheckVolInterval is %d", cm_daemonCheckVolInterval);
+
     dummyLen = sizeof(DWORD);
-    code = RegQueryValueEx(parmKey, "CallbackCheckInterval", NULL, NULL,
+    code = RegQueryValueEx(parmKey, "daemonCheckCBInterval", NULL, NULL,
                            (BYTE *) &dummy, &dummyLen);
     if (code == ERROR_SUCCESS)
        cm_daemonCheckCBInterval = dummy;
-    
+    afsi_log("daemonCheckCBInterval is %d", cm_daemonCheckCBInterval);
+
     dummyLen = sizeof(DWORD);
-    code = RegQueryValueEx(parmKey, "LockCheckInterval", NULL, NULL,
+    code = RegQueryValueEx(parmKey, "daemonCheckLockInterval", NULL, NULL,
                            (BYTE *) &dummy, &dummyLen);
     if (code == ERROR_SUCCESS)
        cm_daemonCheckLockInterval = dummy;
-    
+    afsi_log("daemonCheckLockInterval is %d", cm_daemonCheckLockInterval);
+
     dummyLen = sizeof(DWORD);
-    code = RegQueryValueEx(parmKey, "TokenCheckInterval", NULL, NULL,
+    code = RegQueryValueEx(parmKey, "daemonCheckTokenInterval", NULL, NULL,
                            (BYTE *) &dummy, &dummyLen);
     if (code == ERROR_SUCCESS)
        cm_daemonTokenCheckInterval = dummy;
-    
+    afsi_log("daemonCheckTokenInterval is %d", cm_daemonTokenCheckInterval);
+
     dummyLen = sizeof(DWORD);
-    code = RegQueryValueEx(parmKey, "BusyVolumeCheckInterval", NULL, NULL,
+    code = RegQueryValueEx(parmKey, "daemonCheckOfflineVolInterval", NULL, NULL,
                            (BYTE *) &dummy, &dummyLen);
     if (code == ERROR_SUCCESS)
-       cm_daemonCheckBusyVolInterval = dummy;
+       cm_daemonCheckOfflineVolInterval = dummy;
+    afsi_log("daemonCheckOfflineVolInterval is %d", cm_daemonCheckOfflineVolInterval);
     
     RegCloseKey(parmKey);
 }
@@ -334,7 +341,7 @@ void cm_Daemon(long parm)
     lastDownServerCheck = now - cm_daemonCheckDownInterval/2 + (rand() % cm_daemonCheckDownInterval);
     lastUpServerCheck = now - cm_daemonCheckUpInterval/2 + (rand() % cm_daemonCheckUpInterval);
     lastTokenCacheCheck = now - cm_daemonTokenCheckInterval/2 + (rand() % cm_daemonTokenCheckInterval);
-    lastBusyVolCheck = now - cm_daemonCheckBusyVolInterval/2 * (rand() % cm_daemonCheckBusyVolInterval);
+    lastBusyVolCheck = now - cm_daemonCheckOfflineVolInterval/2 * (rand() % cm_daemonCheckOfflineVolInterval);
 
     while (daemon_ShutdownFlag == 0) {
        /* check to see if the listener threads halted due to network 
@@ -388,7 +395,7 @@ void cm_Daemon(long parm)
            now = osi_Time();
         }
 
-        if (now > lastBusyVolCheck + cm_daemonCheckBusyVolInterval) {
+        if (now > lastBusyVolCheck + cm_daemonCheckOfflineVolInterval) {
             lastVolCheck = now;
             cm_CheckOfflineVolumes();
            now = osi_Time();