Unix CM: Log reason for marking server up or down
[openafs.git] / src / afs / afs_server.c
index 3f4e8d2..b654015 100644 (file)
@@ -230,7 +230,7 @@ afs_MarkServerUpOrDown(struct srvAddr *sa, int a_isDown)
 
 
 afs_int32
-afs_ServerDown(struct srvAddr *sa)
+afs_ServerDown(struct srvAddr *sa, int code)
 {
     struct server *aserver = sa->server;
 
@@ -240,10 +240,10 @@ afs_ServerDown(struct srvAddr *sa)
     afs_MarkServerUpOrDown(sa, SRVR_ISDOWN);
     if (sa->sa_portal == aserver->cell->vlport)
        print_internet_address
-           ("afs: Lost contact with volume location server ", sa, "", 1);
+           ("afs: Lost contact with volume location server ", sa, "", 1, code);
     else
        print_internet_address("afs: Lost contact with file server ", sa, "",
-                              1);
+                              1, code);
     return 1;
 }                              /*ServerDown */
 
@@ -309,7 +309,7 @@ CheckVLServer(struct srvAddr *sa, struct vrequest *areq)
        if (tc->parent->srvr == sa) {
            afs_MarkServerUpOrDown(sa, 0);
            print_internet_address("afs: volume location server ", sa,
-                                  " is back up", 2);
+                                  " is back up", 2, code);
        }
     }
 
@@ -530,7 +530,8 @@ CkSrv_MarkUpDown(struct afs_conn **conns, int nconns, afs_int32 *results)
        if (( results[i] >= 0 ) && (sa->sa_flags & SRVADDR_ISDOWN) &&
            (tc->parent->srvr == sa)) {
            /* server back up */
-           print_internet_address("afs: file server ", sa, " is back up", 2);
+           print_internet_address("afs: file server ", sa, " is back up", 2,
+                                  results[i]);
 
            ObtainWriteLock(&afs_xserver, 244);
            ObtainWriteLock(&afs_xsrvAddr, 245);
@@ -544,7 +545,7 @@ CkSrv_MarkUpDown(struct afs_conn **conns, int nconns, afs_int32 *results)
        } else {
            if (results[i] < 0) {
                /* server crashed */
-               afs_ServerDown(sa);
+               afs_ServerDown(sa, results[i]);
                ForceNewConnections(sa);  /* multi homed clients */
            }
        }
@@ -1558,7 +1559,7 @@ afs_GetCapabilities(struct server *ts)
     ObtainWriteLock(&afs_xserver, 723);
     /* we forced a conn above; important we mark it down if needed */
     if ((code < 0) && (code != RXGEN_OPCODE)) {
-       afs_ServerDown(tc->parent->srvr);
+       afs_ServerDown(tc->parent->srvr, code);
        ForceNewConnections(tc->parent->srvr); /* multi homed clients */
     }
     afs_PutConn(tc, rxconn, SHARED_LOCK);