Unix CM: Fix PutVolume in afs_BlackListOnce
authorSimon Wilkinson <sxw@your-file-system.com>
Wed, 23 Nov 2011 16:30:55 +0000 (16:30 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Fri, 25 Nov 2011 01:36:37 +0000 (17:36 -0800)
It isn't safe to keep accessing a structure once we have Put our
reference to it.

Change-Id: I6f23a054c3ccde21aa17e07d06dd3c6e7761c098
Reviewed-on: http://gerrit.openafs.org/6117
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@secure-endpoints.com>

src/afs/afs_analyze.c

index a59b416..6bec02d 100644 (file)
@@ -258,13 +258,13 @@ afs_BlackListOnce(struct vrequest *areq, struct VenusFid *afid,
                    areq->skipserver[i] = 1;
                }
            }
-           afs_PutVolume(tvp, READ_LOCK);
            for (i = 0; i < AFS_MAXHOSTS; i++) {
                if (tvp->serverHost[i] && areq->skipserver[i] == 0) {
                    serversleft = 1;
                    break;
                }
            }
+           afs_PutVolume(tvp, READ_LOCK);
            return serversleft;
        }
     }