]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
DEVEL15-windows-misc-20080825
authorJeffrey Altman <jaltman@secure-endpoints.com>
Tue, 26 Aug 2008 05:38:44 +0000 (05:38 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Tue, 26 Aug 2008 05:38:44 +0000 (05:38 +0000)
LICENSE MIT

avoid a deadlock in cm_GiveUpAllCallbacks

log UAEEXIST / EEXIST in cm_Analyze

(cherry picked from commit e0380d54bad50582b6bc39e2b41e78d72117ec79)

src/WINNT/afsd/cm_callback.c
src/WINNT/afsd/cm_conn.c

index 809845a907249f2d81d4f31da420fe50dd7924c2..3d0941b6e1ac902fa0bcad12e4be6e943737e1b5 100644 (file)
@@ -1949,13 +1949,13 @@ cm_GiveUpAllCallbacks(cm_server_t *tsp, afs_int32 markDown)
             cm_volume_t * volp;
             int i;
 
+            cm_ForceNewConnections(tsp);
+
             lock_ObtainMutex(&tsp->mx);
             if (!(tsp->flags & CM_SERVERFLAG_DOWN)) {
                 tsp->flags |= CM_SERVERFLAG_DOWN;
                 tsp->downTime = time(NULL);
             }
-            cm_ForceNewConnections(tsp);
-
             /* Now update the volume status */
             for (tsrvp = tsp->vols; tsrvp; tsrvp = tsrvp->nextp) {
                 for (i=0; i<NUM_SERVER_VOLS; i++) {
index 85fb3eee95376357004275183eda8007534de68c..14ce3b997dc78cc167e15903bac61fe01b2d7b34 100644 (file)
@@ -658,6 +658,8 @@ cm_Analyze(cm_conn_t *connp, cm_user_t *userp, cm_req_t *reqp,
            case UAEACCES          : s = "UAEACCES";           break;
            case ENOENT            : s = "ENOENT";             break;
            case UAENOENT          : s = "UAENOENT";           break;
+            case EEXIST            : s = "EEXIST";             break;
+            case UAEEXIST          : s = "UAEEXIST";           break;
            case VICECONNBAD       : s = "VICECONNBAD";        break;
            case VICETOKENDEAD     : s = "VICETOKENDEAD";      break;
             case WSAEWOULDBLOCK    : s = "WSAEWOULDBLOCK";     break;