afs_int32 cm_OfflineROIsValid = 0;
+afs_int32 cm_giveUpAllCBs = 0;
+
#ifdef AFS_FREELANCE_CLIENT
extern osi_mutex_t cm_Freelance_Lock;
#endif
unsigned long host = 0;
unsigned short port = 0;
cm_server_t *tsp = NULL;
- cm_cell_t * cellp = NULL;
MUTEX_ENTER(&callp->lock);
host = rx_HostOf(peerp);
port = rx_PortOf(peerp);
- tsp = cm_FindServerByIP(host, CM_SERVER_FILE);
- if (tsp)
- cellp = tsp->cellp;
+ osi_Log2(afsd_logp, "SRXAFSCB_CallBack from host 0x%x port %d",
+ ntohl(host),
+ ntohs(port));
+ } else {
+ osi_Log0(afsd_logp, "SRXAFSCB_CallBack from unknown host");
}
- osi_Log2(afsd_logp, "SRXAFSCB_CallBack from host 0x%x port %d",
- ntohl(host),
- ntohs(port));
for (i=0; i < (long) fidsArrayp->AFSCBFids_len; i++) {
tfidp = &fidsArrayp->AFSCBFids_val[i];
if (tfidp->Volume == 0)
continue; /* means don't do anything */
else if (tfidp->Vnode == 0)
- cm_RevokeVolumeCallback(callp, cellp, tfidp);
+ cm_RevokeVolumeCallback(callp, NULL, tfidp);
else
- cm_RevokeCallback(callp, cellp, tfidp);
+ cm_RevokeCallback(callp, NULL, tfidp);
}
MUTEX_EXIT(&callp->lock);
osi_Log0(afsd_logp, "CheckCBExpiration");
- now = osi_Time();
+ now = time(NULL);
lock_ObtainWrite(&cm_scacheLock);
for (i=0; i<cm_data.scacheHashTableSize; i++) {
for (scp = cm_data.scacheHashTablep[i]; scp; scp=scp->nextp) {
tsp->downTime = osi_Time();
}
cm_ForceNewConnections(tsp);
- lock_ReleaseMutex(&tsp->mx);
-
/* Now update the volume status */
for (tsrvp = tsp->vols; tsrvp; tsrvp = tsrvp->nextp) {
for (i=0; i<NUM_SERVER_VOLS; i++) {
}
}
}
+ lock_ReleaseMutex(&tsp->mx);
}
}
}
{
cm_server_t *tsp;
+ if (!cm_giveUpAllCBs)
+ return;
+
lock_ObtainWrite(&cm_serverLock);
for (tsp = cm_allServersp; tsp; tsp = tsp->allNextp) {
cm_GetServerNoLock(tsp);