cm_VolumeStatusNotification(volp, volp->vol[volType].ID, volp->vol[volType].state, vl_alldown);
}
volp->cbExpiresRO = 0;
+ volp->cbServerpRO = NULL;
lock_FinalizeRWLock(&volp->rw);
}
cm_VolumeStatusNotification(volp, volp->vol[volType].ID, vl_unknown, volp->vol[volType].state);
}
volp->cbExpiresRO = 0;
+ volp->cbServerpRO = NULL;
}
}
osi_EndOnce(&once);
cm_AddVolumeToNameHashTable(volp);
}
+ if (flags & VLF_DFSFILESET) {
+ volp->flags |= CM_VOLUMEFLAG_DFS_VOLUME;
+ osi_Log1(afsd_logp, "cm_UpdateVolume Volume Group '%s' is a DFS File Set. Correct behavior is not implemented.",
+ osi_LogSaveString(afsd_logp, volp->namep));
+ }
+
if (flags & VLF_RWEXISTS) {
if (volp->vol[RWVOL].ID != rwID) {
if (volp->vol[RWVOL].flags & CM_VOLUMEFLAG_IN_HASH)
volp->vol[volType].flags = 0;
}
volp->cbExpiresRO = 0;
+ volp->cbServerpRO = NULL;
cm_AddVolumeToNameHashTable(volp);
lock_ReleaseWrite(&cm_volumeLock);
}
{
cm_volume_t *volp;
afs_int32 refCount;
+ extern int daemon_ShutdownFlag;
lock_ObtainRead(&cm_volumeLock);
- for (volp = cm_data.allVolumesp; volp; volp=volp->allNextp) {
+ for (volp = cm_data.allVolumesp; volp && !daemon_ShutdownFlag; volp=volp->allNextp) {
if (volp->flags & CM_VOLUMEFLAG_IN_HASH) {
InterlockedIncrement(&volp->refCount);
lock_ReleaseRead(&cm_volumeLock);