]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
DEVEL15-windows-get-server-list-20070625
authorJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 25 Jun 2007 05:59:40 +0000 (05:59 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Mon, 25 Jun 2007 05:59:40 +0000 (05:59 +0000)
return an error when the cm_fid_t * is NULL since we can't look up
the volume to obtain a server list without knowing which volume we
should be looking up

if the fidp is known to be NULL, don't call cm_GetServerList()

(cherry picked from commit 3eb7be5c5e63fbf5cbd978c29f155f3e0de856bb)

src/WINNT/afsd/cm_conn.c

index 20c39cd665dccf72beecf8401d085fdf513c0794..ff3743edcc00cb6d03fdf668edfa99ffc76778ab 100644 (file)
@@ -119,7 +119,7 @@ static long cm_GetServerList(struct cm_fid *fidp, struct cm_user *userp,
 
     if (!fidp) {
         *serversppp = NULL;
-        return 0;
+        return CM_ERROR_INVAL;
     }
 
     cellp = cm_FindCellByID(fidp->cell);
@@ -362,7 +362,7 @@ cm_Analyze(cm_conn_t *connp, cm_user_t *userp, cm_req_t *reqp,
 
     /* special codes:  VBUSY and VRESTARTING */
     else if (errorCode == VBUSY || errorCode == VRESTARTING) {
-        if (!serversp) {
+        if (!serversp && fidp) {
             code = cm_GetServerList(fidp, userp, reqp, &serverspp);
             if (code == 0) {
                 serversp = *serverspp;
@@ -464,7 +464,7 @@ cm_Analyze(cm_conn_t *connp, cm_user_t *userp, cm_req_t *reqp,
 #endif
 
         /* Mark server offline for this volume */
-        if (!serversp) {
+        if (!serversp && fidp) {
             code = cm_GetServerList(fidp, userp, reqp, &serverspp);
             if (code == 0) {
                 serversp = *serverspp;